소프트웨어 공학

시스템 개발 수명주기 내에서 작업하는 전문가, 학자 및 학생을위한 Q & A

13
OOP의 개체는 엔터티를 나타내야합니까?
개체가 개체를 나타내야합니까? 함으로써 기업 나는 같은 것을 의미 Product, Motor하는 ParkingLot등 물리적, 심지어 명확한 비 물리적 개념 개체 - 물론 일부 핵심 데이터가 명확하게 개체에 속하는으로, 정의 뭔가, 일부 기능 / 방법 핵심 데이터에서 명확하게 작동합니다. 예를 들어, 나는 Demon실체가 아닌 실체가 아닌 가상의 실체를 가질 수있다. 객체가 메소드의 …

23
모든 프로그래머가 정규 표현식을 배우는 것이 필수입니까? [닫은]
나는 프로그래밍에 익숙하지 않으며, 인터뷰에서 정규 표현식에 대한 질문을 받았습니다. 말할 수 없다고 말할 필요도 없습니다. 정규식을 배워야하는지 궁금합니다. 모든 분야의 모든 프로그래머에게 필수품입니까? 아니면 특정 분야의 프로그래밍에 필수입니까? 관련 질문 : 정규 표현식이 병적으로 매력적으로 보이는 이유는 무엇입니까? 정규식을 사용하지 않아야 할 때?

19
두 프로그래머 사이에서 선택 : 경험과 열정 [폐쇄]
나는 프로그래머를 고용해야하고 2 명의 후보자 중에서 선택 해야하는 위치에 있습니다. 첫 번째에는 경험이 있지만 코딩에 대한 열정은 없으며 두 번째에는 경험이 없지만 그는 가지고 있습니다 열정, 그는 인터뷰에서 잘하고 인증을 받았습니다. 우리는 누군가를 훈련시킬 자원이 있지만, 나는이 과정을 망쳐 놓고 실망 할 사람을 고용하고 싶지 않습니다. 이 상황에 접근하는 …

11
Java 개발자가 의식적으로 RAII를 포기 했습니까?
오랜 C # 프로그래머 인 저는 최근에 RAII ( Resource Acquisition Is Initialization) 의 장점에 대해 더 많이 알게되었습니다 . 특히 C # 관용구를 발견했습니다. using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } C ++에 해당합니다. { DbConnection dbConn(connStr); // do stuff with dbConn } …
82 java  c#  c++  language-design 

15
연산자 오버로드에 대한 주장을 이해하지 못합니다.
나는 조엘의 기사 중 하나를 읽었습니다 . 일반적으로, 나는 물건을 숨기는 언어 기능이 약간 무섭다는 것을 인정 해야 합니다. 코드가 보이면 i = j * 5; … C에서는 적어도 j에 5가 곱해지고 i에 저장된 결과가 있다는 것을 알고 있습니다. 그러나 C ++에서 동일한 코드 스 니펫을 보면 아무것도 모릅니다. 아무것도. …

15
변수 이름에 유니 코드 문자를 사용하는 것이 좋지 않습니까? [닫은]
최근에 Python 3에 순위 알고리즘 AllegSkill을 구현하려고했습니다. 수학은 다음과 같습니다. 아뇨 이것은 내가 쓴 것입니다 : t = (µw-µl)/c # those are used in e = ε/c # multiple places. σw_new = (σw**2 * (1 - (σw**2)/(c**2)*Wwin(t, e)) + γ**2)**.5 실제로 파이썬 3가 변수 이름을 받아들이지 √않거나 ²변수 이름으로 사용 …
82 naming  unicode 

18
면접에서 우수한 프로그래머를 식별하는 가장 좋은 방법은 무엇입니까?
인터뷰의 설정에서 : 어떤 사람이있을 때 확실하게 식별 할 수있는 가장 좋은 방법입니다 훌륭한 프로그래머 . 이것은 그가 스펙트럼의 하단을 향한 그의 동료들보다 10-15 배 더 효율적이고 빠르며 / 더 나은 것들 중 하나라는 것을 의미합니다. 우리 중 많은 사람들이 FizzBuzz 문제 를 약한 사람들을 제거하는 방법으로 들었습니다 . 확실히, …

10
널 (null)이 나쁜 경우 현대 언어가 왜 그것을 구현합니까? [닫은]
Java 또는 C #과 같은 언어 디자이너는 null 참조의 존재와 관련된 문제를 알고 있다고 확신합니다 ( null 참조가 실제로 나쁜 것입니까? 참조 ). 또한 옵션 유형을 구현하는 것은 null 참조보다 훨씬 복잡하지 않습니다. 그들은 왜 어쨌든 포함하기로 결정 했습니까? 나는 null 참조가 부족하면 언어 작성자와 사용자 모두가 더 나은 품질의 …

6
TRACE 레벨이 존재하는 이유는 무엇이며 DEBUG 대신 언제 사용해야합니까?
Java의 Log4J, Slf4J 및 몇 가지 다른 로깅 프레임 워크에는 두 가지 "개발자"레벨의 로깅이 있습니다. 디버그 자취 설명이 명확하기 때문에 DEBUG의 기능을 이해합니다. DEBUG 수준은 응용 프로그램을 디버깅하는 데 가장 유용한 세분화 된 정보 이벤트를 지정합니다. 그러나 TRACE 레벨은 유스 케이스에 대해 구체적이지 않습니다. TRACE 레벨은 DEBUG보다 세분화 된 정보 …
82 java  logging 

9
동적 타이핑의 생산성 향상은 무엇입니까? [닫은]
동적 유형 언어가 정적 유형 언어보다 생산적이라는 주장을 자주 들었습니다. 이 주장의 이유는 무엇입니까? 컨피규레이션 오버 컨벤션, 함수형 프로그래밍, 고급 프로그래밍 모델 및 일관된 추상화 사용과 같은 현대적인 개념으로 툴링하는 것만이 아닌가? (예를 들어 Java에서) 종종 중복 유형 선언이 필요하지 않기 때문에 혼란이 적지 만 정적 유형 지정의 다른 이점을 …

14
대부분의 로그 파일이 이진 형식이 아닌 일반 텍스트를 사용하는 이유는 무엇입니까?
로깅은 필요하지만 (상대적으로) 거의 사용되지 않는 것입니다. 따라서 스토리지 측면에서 훨씬 더 컴팩트하게 만들 수 있습니다. 예를 들어 정수로 표시 할 수있는 ip, 날짜, 시간 및 기타 데이터와 같이 가장 일반적으로 기록되는 데이터는 텍스트로 저장됩니다. 로깅이 이진 데이터로 저장된 경우 많은 공간을 보존 할 수 있으므로 회전이 적고 디스크 수명이 …
81 logging  storage 

9
다음과 같은 경우 항상 필요한 최소 데이터를 함수에 전달해야합니다.
IsAdmin사용자가 관리자인지 확인 하는 기능 이 있다고 가정 해 봅시다 . 또한 관리자 확인은 사용자 ID, 이름 및 비밀번호를 일종의 규칙 (중요하지 않음)과 일치시켜 수행한다고 가정 해 보겠습니다. 내 머리에는 이것에 대한 두 가지 가능한 기능 서명이 있습니다. public bool IsAdmin(User user); public bool IsAdmin(int id, string name, string password); …

7
Dependency Injection 또는 정적 팩토리를 사용해야합니까?
시스템을 설계 할 때 다른 모듈에서 사용하는 많은 모듈 (로깅, 데이터베이스 액세스 등)이 발생하는 문제에 종종 직면합니다. 문제는 이러한 구성 요소를 다른 구성 요소에 제공하는 방법은 무엇입니까? 두 가지 대답은 가능한 의존성 주입 또는 팩토리 패턴을 사용하는 것 같습니다. 그러나 둘 다 잘못된 것 같습니다. 팩토리는 테스트를 어렵게 만들고 구현을 …


15
왜 드라이가 중요합니까?
아주 간단합니다. 왜 모든 경우에 적용 가능한 코드와 확장 가능한 데이터를 작성하고 싶을 때 약간의 미세 조정만으로 동일한 프로세스를 몇 번 반복하면 좋습니까? 조만간 다시 편집 할 필요는 없습니다. 그냥 갈 일이 훨씬 적은 것 같습니다 ... function doStuff1(){/*.a.*/} function doStuff2(){/*.b.*/} function doStuff3(){/*.c.*/} 그리고 내가 뭔가를 추가해야한다면 ... function doStuff4(){/*.d.*/} …
81 code-quality  dry 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.