소프트웨어 공학

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

4
저작권을 소유 한 코드를 처음부터 다시 작성하여 첫 번째 버전에 대한 권리를 잃지 않으면 서 작업에 사용할 수 있습니까?
글쎄, 나는 그것을 오픈 소스로 만들고 싶지 않다! 그게 문제입니다. 그러나 현재 작업에 사용하고 싶습니다. 회사는 나와 다른 대체 라이센스에 서명하기로 동의하지 않았으며 모든 것을 처음부터 다시 작성하여 라이센스를 소유 할 것을 요구했습니다. :( 나중에 회사에서 나에게 돌아 오지 않고 내가 작성한 코드를 사용하고 있다고 말하면서 안전한 방법으로 어떻게 할 …

1
왜 Resharper가 "as"를 "is"보다 선호합니까?
이와 같은 코드를 작성할 때 obj는 로컬 변수입니다. if (obj is IMyInterface) { var result = (IMyInterface)obj; // .... } Resharper는 다음과 같은 코드로 변경하도록 제안합니다. var result = obj as IMyInterface; if (result != null) { // ... } 우연한 null 참조 예외에 대한 기회를 제공하지 않기 때문에 전자를 …
13 c#  resharper 

3
“재 실시권”이란 실제로 무엇을 의미합니까?
우선, 재 라이센스 권한이 귀하에게 재 라이센스 권한을 부여하지 않는 것이 분명합니다. MIT 라이센스 (1 파일)가있는 라이브러리가 있다고 가정 해 봅시다. 누군가가 라이브러리에 몇 가지 기능을 추가하지만 GPL (같은 1 파일)에 넣습니다. 또는 누군가가 하위 라이센스를 원한다면 코드를 분리해야합니까? 누군가 라이브러리를 사용하려면 라이센스는 어떻게 처리됩니까? 파일에 GPL에 일부 기능이 있더라도 …

1
코드베이스를 포크 할 때 모범 사례
포크 코드를 회전시키는 올바른 모범 사례에 대한 질문이 있습니다. Creative Commons Attribution-NonCommercial-ShareAlike 3.0에 따라 라이센스가 부여 된 코드베이스를 가져 와서 내 요구에 맞게 크게 변경했습니다. 내 버전이 다른 사람에게 도움이 될 수 있다고 생각하고 재배포하려고합니다. 재배포에 대한 자유와 수용 할 수있는 자유가 무엇인지 잘 모르겠습니다. 프로젝트 이름을 바꿀 수 있습니까? …

7
개발 팀에서 다양한 코딩 스타일을 지원할 수있는 방법이 있습니까
문제 : 두 개발자 => indention에 대한 세 가지 의견, 줄 바꿈에 중괄호 여부 등 우리는 일반적으로 프로젝트에서 3-4 명과 함께 일하며 각 프로젝트마다 고유 한 코드 스타일이 있습니다. 공통적 인 해결책은 코드 스타일에 동의하는 것입니다. 모두가 사용해야하지만 창조적 인 프로그래머에게 적합하지 않은 양복을 입히고 싶지는 않습니다. 질문은 다음과 같습니다. …

3
이진 트리의 사전 및 사후 주문 통과의 유용성
이것은 매우 순진하지만 모든 순회 유형의 이진 트리 (일반, 정렬 및 균형 조정) 컨텍스트와 관련하여 궁금합니다. 깊이 우선 선주문 깊이 우선 깊이 우선 포스트 오더 너비 우선 사전 및 사후 주문의 실제 유용성은 무엇입니까? 사전 및 / 또는 주문 후 순회가 다른 두 가지에 비해 (일부) 이점을 제공하는 이진 트리의 …

4
업그레이드 할 때 오픈 소스 소프트웨어를 패치하는 것은 옵션이 아닙니까?
최근에 애플리케이션에 통합 한 오픈 소스 소프트웨어 패키지에서 다소 성가신 (확인 된) 버그가 발생했습니다. 공개 이슈 트래커에 따르면이 버그는 소프트웨어의 최신 릴리스에서 해결되었습니다. 때로는 특정 모듈의 비싼 리팩터링을 피하기 위해 버그 수정이 필요하지만 기술 및 / 또는 정치적 이유로 최신 릴리스로 업그레이드 할 수 없습니다. 코드 변경 사항을 검사 할 …

2
테스트 대상 시스템에서 클래스를 추출 할 때 단위 테스트를 리팩터링해야합니까?
나는 몇 가지 일을하는이 수업을 썼습니다 (아마도 이것이 단일 책임 원칙을 위반하는 것입니다). 지금은 프로젝트의 다른 부분이 필요 실현 조각 이 논리의 나는 내 원래의 시스템에서 테스트의 클래스를 추출하는 것입니다 노출거야 방법. 테스트 코드를 변경하지 않고도이 작업을 수행 할 수있을 것으로 기대하지만 완료하면 테스트가 더 이상 단위 테스트 가 아니라고 …

2
소규모 소프트웨어 라이브러리가 다른 라이브러리를 사용하지 않아야합니까?
방금 소수의 클래스와 메소드를 제공하는 작은 Java 라이브러리를 출시했습니다. Maven으로 프로젝트를 구축 한 후 즉시 여러 타사 라이브러리를 사용하여 목표를 달성했습니다. commons-lang3 (일부 일반적인 Java 기능) slf4j-api (로깅 용) commons-io (작은 파일 내용-문자 그대로 파일을 한 번 읽습니다.) 내 도서관이 다른 사람들의 눈에 부풀어 오르는 것을 원하지 않습니다. 발자국을 최소화하기 …
13 java  libraries  maven 

4
Fernando J. Corbató의“제한된 언어”
그의 1990 튜링 상 연설 에서 Fernando J. Corbató는 복잡한 시스템이 불가피하게 실패하는 이유를 열거했습니다. 결론적으로 그는 실패 가능성을 줄이는 몇 가지 제안을한다. 그는 하나의 아이디어를 다음과 같이 나열합니다. 디자인이나 합성을위한 제약 된 언어는 강력한 방법론이다. 프로그래머 나 디자이너가 관련없는 아이디어를 표현하지 못하게함으로써 가능한 오류 영역이 훨씬 더 제한됩니다. "제한된 …

2
C ++는 공통 공통 조상으로 다중 상속을 어떻게 처리합니까?
나는 C ++ 사람이 아니지만 이것에 대해 생각해야합니다. C ++에서는 다중 상속이 가능한데 왜 C #에서는 불가능합니까? (나는 다이아몬드 문제를 알고 있지만 여기서 내가 묻는 것은 아닙니다.) C ++는 여러 기본 클래스에서 상속 된 동일한 메소드 서명의 모호성을 어떻게 해결합니까? 왜 같은 디자인이 C #에 포함되지 않습니까?

6
내 공예 (프로그래밍)에 대해 깊이 이해하기 위해 마스터해야하는 프로그래밍 개념은 무엇입니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …

4
부정 강조
나는 꽤 긴 속성 이름을 가진 if 문을 작성하고 있었고이 문제를 겪었습니다. 다음과 같은 if 문이 있다고 가정 해 봅시다. if(_someViewModelNameThatIsLong.AnotherPropertyINeedToCheck == someValue && !_someViewModelNameThatIsLong.ThisIsABooleanPropertyThatIsImportant) { //Do something } 두 번째 속성은 부울 유형이며 다음과 같은 전략을 갖는 것은 의미가 없습니다. if(boleanValue == true) (가) 넣어 그 부정을 강조하기 위해 …

3
이야기를하는 것이 좋은 아이디어를주기 위해 단위 테스트를 사용하고 있습니까?
그래서 얼마 전에 작성한 인증 모듈이 있습니다. 이제 나는 길의 오류를보고 그것을 위해 단위 테스트를 작성하고 있습니다. 단위 테스트를 작성하는 동안 좋은 이름과 테스트하기 좋은 영역을 찾기가 어렵습니다. 예를 들어 다음과 같은 것이 있습니다 Login_should_redirect_when_not_logged_in 필요 Login_should_pass_through_when_logged_in 필요 Login_should_work_when_given_proper_credentials 개인적으로, 나는 그것이 "적절한"것처럼 보이지만 조금 추악하다고 생각합니다. 또한 스캔을 통해 …

2
“기능 크리프”라는 용어는 어디에서 유래합니까?
거기에있다 괜찮은 위키 백과 문서 은 "기능 크리프"에,하지만 그것은 출처를 명시하지 않습니다. 구글은 검색 에만 리드를 일부 모호한 기사 용어를 만들어 낸 주장 "얼 리치"하지만이 많은 백업되지 않습니다 그 주장은. 거기에있다 2001 년부터 만화 딜버트 주제에,하지만 톤이 용어가-존재 사전 암시하는 것 같다; 구글이 2000 년 이전의 결과를 가지고 있다는 사실에 …

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