소프트웨어 공학

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

14
타입 테스트는 언제 가능합니까?
고유 한 유형 안전성을 가진 언어를 가정하면 (예 : JavaScript가 아님) : a를 받아들이는 방법이 주어지면 SuperType대부분의 경우 유형 테스트를 수행하여 작업을 선택하려는 유혹을받을 수 있습니다. public void DoSomethingTo(SuperType o) { if (o isa SubTypeA) { o.doSomethingA() } else { o.doSomethingB(); } } 항상 그렇지는 않지만 일반적으로 하나의 재정의 가능한 …

9
기본 키를 공개하지 않는 이유
교육 과정에서 실제 기본 키 (DB 키뿐만 아니라 모든 기본 접근 자)를 사용자에게 노출시키는 것은 잘못된 아이디어라고 들었습니다. 공격자가 자신이 아닌 내용을 읽을 수 있기 때문에 항상 보안 문제라고 생각했습니다. 이제 사용자가 어쨌든 액세스 할 수 있는지 확인해야하므로 그 뒤에 다른 이유가 있습니까? 또한 사용자가 어쨌든 데이터에 액세스해야하므로 외부 세계를위한 …

5
null 대신 Maybe 유형의 언어는 가장자리 조건을 어떻게 처리합니까?
Eric Lippert는 C # null이 Maybe<T>유형 이 아닌 유형을 사용하는 이유에 대해 매우 흥미로운 점을 지적했습니다 . 형식 시스템의 일관성이 중요합니다. nullable이 아닌 참조가 어떤 상황에서도 유효하지 않다는 것을 항상 알 수 있습니까? null이 아닌 참조 유형의 필드를 가진 객체의 생성자에서는 어떻습니까? 참조를 작성 해야하는 코드에서 예외가 발생하여 객체가 완성되는 …

16
항상 책을 사용하는 것에 대한 선임 프로그래머 조언이 좋은 생각입니까? [닫은]
저는 주니어 개발자이며 5 년 동안 만 업계에있었습니다. 나의 현재 회사에는 선배가 그를 Infestus라고 부릅니다. 때때로 나는 처음부터 완전히 새로운 것을 빛내고 완전히 할 수있는 기회를 얻었습니다. 가장 최근의 예 중 하나는 멀티 스레드 응용 프로그램에서 싱글 톤을 만들어야한다는 것입니다. 이 방법 을 사용하기로 결정했습니다 . Infestus가 그것을 보자 마자 …

11
팀이 사내에서 모든 것을 쓰는 것이 얼마나 흔한 일입니까? [닫은]
최근의 인터뷰에서 나는 인터뷰 자들에게 "신기술과 라이브러리 (예 : SignalR)를 평가하고 그것들을 사용하게하려면 어떻게해야합니까?" 그들은 그렇지 않다고 말했습니다. 대신에 모든 것을 스스로 작성하므로 다른 사람에게 의지 할 필요가 없습니다. 이 회사는 정부 나 국방 계약 업체 나 안전에 중요한 프로젝트 나 그와 비슷한 일을 위해 일하지 않습니다. 그들은 평균적인 중간 …

4
TDD-외부 입력 대 내부 출력
응용 프로그램을 구축 차이점은 무엇이고 외부에서 대를 구축 아웃 내부 TDD를 사용은? 다음은 제가 TDD와 단위 테스트에 관해 읽은 책들입니다 : 테스트 주도 개발 : 테스트 주도 개발 사례 : 실용 가이드 : 실용 가이드 Microsoft의 고품질 PHP 프레임 워크 및 애플리케이션 개발을위한 실제 솔루션 . NET xUnit 테스트 패턴 …

9
클래스의 메소드가 자체 getter 및 setter를 호출해야합니까?
내가 일하는 곳에서 다음과 같은 일을하는 많은 수업을 봅니다. public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } } 이것을 …

9
코드 일관성과 코드 개선 사이의 올바른 균형은 무엇입니까?
최근에는 코드 스타일에 관해 동료와 토론했습니다. 그는 API 사용과 일반적인 패턴이 코드 모양이 아닌 것처럼 코드 전체가 아니라면 주변 코드와 가능한 한 비슷해야한다고 주장했습니다 (중괄호 위치 지정, 대문자 사용 등) . 예를 들어 C #에서 DAO 클래스에 메서드를 추가하는 경우 해당 클래스의 다른 메서드 중 어느 것도 사용하지 않더라도 코드를 …

7
버전 관리 방식에 문제가 있습니까?
비즈니스 분석가로 프로그래머 팀과 함께 작업합니다. 우리는 방금 제품의 버전 2.0을 출시했으며 3 개월 안에 출시 될 다음 버전 (내부 소프트웨어 제품)을 위해 노력하고 있습니다. 불행히도 버전 2.0에는 수정해야 할 몇 가지 문제가 있으며 몇 주 안에 해당 수정 사항을 배포 할 예정입니다. 문제는 아직 진행 중이며 향후 3 개월 …

12
물러서서 신선한 눈으로 코드를 보는 방법? [닫은]
작년에 리치 클라이언트 애플리케이션 (35,000+ LoC, 가치있는 것)을 개발하는 1 인 팀으로 보냈습니다. 현재 안정적이며 생산 중입니다. 그러나 나는 프로젝트가 시작될 때 내 기술이 녹슬 었다는 것을 알고 있으므로 의심 할 여지없이 코드에 큰 문제가 있습니다. 이 시점에서 대부분의 문제는 아키텍처, 구조 및 상호 작용에 있습니다. 쉬운 문제, 심지어 아키텍처 …

1
Github에 참여하기 (프로젝트를 찾는 방법) [닫기]
Github의 오픈 소스 프로젝트에 기여하고 싶습니다. 주로 작은 버그 수정이나 기능 추가를 시작하고 싶습니다. 특정 프로젝트를 염두에두고 있지 않습니다. C, C ++, Python, .NET, Java 등의 프로젝트에서 작업하고 싶습니다. 그러나 내 문제는 Github에서 무엇을 찾는 방법을 알 수 없다는 것입니다. Explore Github에서 C 프로젝트를 나열하는 페이지를 찾았습니다. 기본적으로 상위 5 …

6
첫 번째 루프 구조의 아이디어를 누가 만들었습니까?
while (1) { if (1+1==2) { print "Yes, you paid attention in Preschool!"; } else { print "Wait... I thought 1+1=2"; } } 개발자는 모두 루프를 매우 자주 사용해야 합니다. 우리는 알고 있습니다. 내가 궁금했던 것은 누가 루프를 가지고 있다는 생각을 했던가? 어떤 언어가 루프를 도입 했습니까? 첫 번째 루프 …
53 history  loops 

2
C #에서 'void'가 일반 유형으로 허용되지 않는 이유
void구성 할 수없고 일반적인 유형으로 허용되지 않는 것을 선호하는 디자인 결정은 무엇입니까 ? 어쨌든 그것은 단지 특별한 공허한 struct것이며 구별 Func되고 Action대의원 을 갖는 총 PITA를 피했을 것 입니다. (C ++은 명시적인 void리턴을 허용 void하고 템플리트 매개 변수로 허용합니다 )

5
'Nightly Builds'는 무엇을 의미합니까?
저는 오픈 소스 프로젝트를 한동안 사용해 왔으며 오픈 소스 응용 프로그램을 개발하고 있으며 종종 'Nightly Build'라는 단어를 보게되며 실제로 그것이 무엇을 의미하는지 궁금했습니다. 문자 그대로 프로젝트가 순전히 보조 프로젝트 (일반적으로 모든 사람이 하루 일을 마친 후 밤에)로 수행되고 진정한 기고자 / 전용 개발 팀이 없거나 그보다 더 복잡하다는 의미입니까?

5
왜 XHTML5가 아닌가?
HTML5가 큰 발전입니다. 내가 아는 마지막 단계는 XHTML의 도입이었습니다. 단순성, 엄격 성, 표준 XML 파서 및 생성기를 사용하여 웹 페이지 작업 등의 이점이 분명했습니다. HTML5가이 모든 것을 되돌려 놓는 것이 얼마나 이상하고 실망 스러운가? 다시 한번 우리는 비표준 구문을 사용하고있다. 다시 한번, 우리는 역사적인 수하물과 파싱 복잡성을 처리해야합니다. 다시 한 …
53 html  html5  xml  xhtml 

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