728x90
반응형

language-agnostic 6

상속성보다 컴포지션을 선호하는 이유

질문 : 상속보다 구성을 선호하십니까? 상속보다 구성을 선호하는 이유는 무엇입니까? 각 접근 방식에는 어떤 절충점이 있습니까? 언제 구성보다 상속을 선택해야합니까? 답변 상속성보다 컴포지션을 선호하는 이유는 나중에 수정하기 쉽기 때문입니다. 그러나 항상 compose-always 접근 방식을 사용하지 마십시오. 컴포지션을 사용하면 종속성 주입 / 세터를 사용하여 즉시 동작을 쉽게 변경할 수 있습니다. 상속은 대부분의 언어가 둘 이상의 유형에서 파생되는 것을 허용하지 않기 때문에 더 엄격합니다. 따라서 TypeA에서 파생되면 거위가 다소 조리됩니다. 위의 내 산성 테스트는 다음과 같습니다. TypeB가 TypeA가 예상되는 곳에 TypeB를 사용할 수 있도록 TypeA의 완전한 인터페이스 (모든 공용 메서..

개발관련/other 2021.12.07

faking, mocking, stubbing의 차이점

질문 : faking, mocking, stubbing의 차이점은 무엇입니까? 이 용어를 어떻게 사용하는지 알고 있지만 단위 테스트를 위해 faking , mocking , stubbing에 대한 정의가 허용되는지 궁금합니다. 테스트를 위해 어떻게 정의합니까? 각각을 사용할 수있는 상황을 설명하십시오. 사용 방법은 다음과 같습니다. Fake : 인터페이스를 구현하지만 고정 데이터를 포함하고 논리는 포함하지 않는 클래스입니다. 구현에 따라 단순히 "양호"또는 "불량"데이터를 반환합니다. Mock : 인터페이스를 구현하고 특정 메서드에서 throw 할 반환 / 예외 값을 동적으로 설정하는 기능을 허용하고 특정 메서드가 호출되었는지 / 호출되지 않았는지 확인하는 기능을 제공하는 클래스입니다. Stub : 모의..

개발관련/other 2021.11.26

컴파일러 작성법 배우기

질문 : 컴파일러 작성법 배우기 [닫기] 선호하는 언어 : C / C ++, Java 및 Ruby. 나는 단순히 교육 목적으로 자신의 컴파일러를 작성하는 방법에 대한 유용한 책 / 튜토리얼을 찾고 있습니다. 저는 C / C ++, Java 및 Ruby에 가장 익숙하기 때문에이 세 가지 중 하나를 포함하는 리소스를 선호하지만 좋은 리소스는 모두 허용됩니다. 답변 컴파일러 교육을위한 Nanopass 프레임 워크 ¶ 고급 컴파일러 설계 및 구현 $ 컴파일러 구성에 대한 점진적 접근 방식 ¶ ANTLR 3.x 비디오 자습서 컴파일러 설계의 기초 Parrot 컴파일러 빌드 컴파일러 기초 컴파일러 구성 $ 컴파일러 설계 및 구성 $ C $ 로 컴파일러 만들기 통역사 제작 [C로 컴파일러 설계] 12 ¶ 컴파일러 :..

개발관련/other 2021.11.17

deep copy와 shallow copy의 차이점

질문 : 딥 카피와 얕은 카피의 차이점은 무엇입니까? 딥 카피와 얕은 카피의 차이점은 무엇입니까? 답변 얕은 복사본은 가능한 한 적게 복제합니다. 컬렉션의 단순 복사본은 요소가 아닌 컬렉션 구조의 복사본입니다. 얕은 사본을 사용하면 이제 두 컬렉션이 개별 요소를 공유합니다. 딥 카피는 모든 것을 복제합니다. 컬렉션의 전체 복사본은 원본 컬렉션의 모든 요소가 복제 된 두 컬렉션입니다. 출처 : https://stackoverflow.com/questions/184710/what-is-the-difference-between-a-deep-copy-and-a-shallow-copy

개발관련/other 2021.09.28

덜 알려졌지만 유용한 데이터 구조에 대해서

질문 : 덜 알려졌지만 유용한 데이터 구조는 무엇입니까? 정말 유용하지만 대부분의 프로그래머에게 알려지지 않은 데이터 구조가 있습니다. 그들은 어느 것입니까? 모두가 연결 목록, 이진 트리 및 해시에 대해 알고 있지만 예를 들어 스킵 목록 및 블룸 필터는 어떻습니까? 흔하지는 않지만 훌륭한 아이디어에 의존하고 프로그래머의 도구 상자를 풍부하게하기 때문에 알 가치가있는 더 많은 데이터 구조를 알고 싶습니다. 추신 : 또한 공통 데이터 구조의 속성을 영리하게 사용하는 댄싱 링크 와 같은 기술에도 관심이 있습니다. 편집 : 데이터 구조를 더 자세히 설명하는 페이지에 대한 링크를 포함하십시오. 또한 데이터 구조가 멋진 이유 에 대해 몇 단어를 추가해보십시오 (Jonas Kölker가 이미 지적했듯이). 또한 답..

개발관련/other 2021.09.17

예외 생성에 대한 지침이나 모범 사례

질문 : 예외 생성에 대한 지침이나 모범 사례가 있습니까? 응용 프로그램에서 예상하지 못한 모든 조건에 대해 예외가 생성되었습니다. UserNameNotValidException , PasswordNotCorrectException 등 그러나 이러한 조건에 대한 예외를 만들지 말아야한다고 들었습니다. 내 UML에서 이러한 ARE는 기본 흐름에 대한 예외인데 왜 예외가 아니어야합니까? 예외 생성에 대한 지침이나 모범 사례가 있습니까? 답변 내 개인 지침은 다음과 같습니다. 현재 코드 블록의 기본 가정이 거짓 인 경우 예외가 발생합니다. 예 1 : 임의의 클래스를 검사하고 해당 클래스가 List 에서 상속되면 true를 반환하는 함수가 있다고 가정합니다. 이 함수는 "이 개체가 List의 자손입니까?"라는 ..

728x90
반응형