소프트웨어 공학

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

6
왜 반사를 사용해야합니까?
저는 Java를 처음 사용합니다. 내 연구를 통해 리플렉션이 클래스와 메서드를 호출하고 어떤 메서드가 구현되었는지 알기 위해 사용된다는 것을 읽었습니다. 리플렉션을 언제 사용해야합니까? 리플렉션을 사용하고 객체를 인스턴스화하는 것과 전통적인 방법을 호출하는 것의 차이점은 무엇입니까?
29 java  reflection 



2
오픈 소스 포크의 이름을 바꾸는 데 필요한 에티켓은 무엇입니까?
Github에 TestNG Java 테스트 프레임 워크 (Apache 2 라이센스)를 포크하여 내 필요에 맞게 몇 가지 사소한 것을 추가 / 변경할 수 있습니다. 모든 변경 사항이 기본 프로젝트에서 승인되거나 다른 사람들이 내 포크를 사용할 가능성은 거의 없습니다. 이것은 결코 주요 프로젝트와의 경쟁이 될 수 없습니다. 이제 이름 지정 측면에서 이슈 이름 …

9
연산자 전후의 줄 바꿈 [닫힘]
Sun의 Java 코드 규칙에 따르면 연산자 앞에 줄 바꿈을 적용하는 것이 좋습니다. 명백한 장단점이 보이지 않으므로 이러한 스타일 중 하나를 다른 스타일보다 사용하면 이점이 있습니까? String longVarName = a + b + c + d + e + f; vs String longVarName = a + b + c + d …

6
개인 Python 프로젝트를 릴리스 가능한 라이브러리로 전환
저는 프로그래머가 아닌 학문적이며, 연구를 뒷받침 할 목적으로 파이썬 프로그램을 직접 작성해 온 경험이 있습니다. 내 최신 프로젝트는 나뿐만 아니라 다른 많은 사람들에게도 유용 할 것 같으며 오픈 소스 Python 라이브러리로 출시하려고 생각합니다. 그러나 제대로 작동하는 개인 프로젝트에서 다른 사람이 쉽게 설치하고 사용할 수있는 라이브러리로 넘어가는 데 약간의 장애물이있는 것 …

8
방법론 : 다른 개발자를위한 단위 테스트 작성
소프트웨어 개발과 작문 단위 테스트에 대해 생각하고있었습니다. 나는 다음 아이디어를 얻었다. 개발자 쌍이 있다고 가정 해 봅시다. 각 쌍은 코드의 일부를 담당합니다. 쌍 중 하나는 기능 (쓰기 코드)을 구현하고 두 번째는 단위 테스트를 작성합니다. 테스트는 코드 후에 작성됩니다. 내 생각에 그들은 서로 돕지 만 오히려 별개로 일한다. 이상적으로는 비슷한 크기의 …

4
개발 중 서로 다른 유형의 동작간에 전환하기 위해 #ifdef 사용
개발 중에 #ifdef를 사용하여 다른 유형의 동작을 전환하는 것이 좋은 방법입니까? 예를 들어 기존 코드의 동작을 변경하고 싶습니다. 동작을 변경하는 방법에 대한 몇 가지 아이디어가 있으며 다른 구현을 전환하여 다른 방법을 테스트하고 비교해야합니다. 일반적으로 코드 변경은 복잡하며 다른 파일의 다른 메소드에 영향을 미칩니다. 나는 보통 몇 가지 식별자를 소개하고 그런 …

3
선택적 매개 변수 또는 오버로드 된 생성자
나는 DelegateCommand을 구현하고 있으며 생성자를 구현하려고 할 때 다음 두 가지 디자인 선택을 생각해 냈습니다. 1 : 여러 개의 오버로드 된 생성자 public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2 : 선택적 매개 변수를 가진 …

7
회사에서 지점을 병합하는 것이 잘못 되었습니까?
최근에 분기 및 병합 및 SCM : 분기 및 병합 입문서-Chris Birmele에 대한 MSDN 기사를 접했습니다 . 이 기사에서 그들은 '빅뱅 병합'이 합병하는 반 패턴이라고 말합니다. Big Bang Merge — 개발 노력이 끝날 때까지 지점 병합을 연기하고 모든 지점을 동시에 병합하려고합니다. 나는 이것이 회사가 생산하는 모든 개발 부서에서하고있는 것과 매우 …

6
뮤텍스가 잠겨 있는지 확인할 수없는 이유는 무엇입니까?
C ++ 14 std::mutex는 잠금 여부를 확인하는 메커니즘을 생략 한 것으로 보입니다 . 이 SO 질문을 참조하십시오 : https://stackoverflow.com/questions/21892934/how-to-assert-if-a-stdmutex-is-locked 이를 해결하는 방법에는 여러 가지가 있습니다. std::mutex::try_lock() std::unique_lock::owns_lock() 그러나 이들 중 어느 것도 특히 만족스러운 해결책은 아닙니다. try_lock()현재 스레드가 뮤텍스를 잠근 경우 거짓 음수를 반환하고 정의되지 않은 동작을 갖습니다. 또한 부작용이 …
28 c++ 

7
상수 값이 시간이 지남에 따라 변경 될 수 있습니까?
개발 단계 동안 동일한 실행에서 고정되어야하는 특정 변수가 있지만 시간이 지남에 따라 수정해야 할 수도 있습니다. 예를 들어 boolean디버그 모드를 알리는 신호이므로 일반적으로하지 않는 프로그램에서 작업합니다. 이러한 값을 상수, 즉 final static int CONSTANT = 0Java 에 포함시키는 것이 나쁜 스타일 입니까? 런타임 동안 상수가 동일하게 유지되지만 계획되지 않은 변경을 …
28 const  constants 

2
SQL Server 내의 NoSQL
이 질문은 SQL과 NoSQL의 차이점에 관한 것이 아닙니다. 나는 현재 이해가 안되는 부분에 대한 이론적 근거를 찾고 있습니다. 우리는 MVC5, Entity framework 6 코드를 먼저 사용하고 SQL Server 2008을 사용하여 새로운 프로젝트를 처음부터 시작했습니다. 아키텍트가 데이터베이스 스키마를 검토 할 때“비즈니스 로직”이므로 모든 외래 키 및 기타 제약 조건을 제거해야한다고 언급했습니다. …
28 sql  sql-server  nosql 

8
레거시 코드베이스의 품질 표준을 낮추는 방법에 대해 논쟁하는 방법은 무엇입니까? [닫은]
우리는 상상할 수없는 나쁜 코드가있는 큰 레거시 코드베이스를 가지고 있습니다. 우리는 이제 몇 가지 품질 표준을 정의했으며 완전히 새로운 코드베이스에서 또는 기존 코드를 만지는 경우 그 표준을 충족 시키려고합니다. 그리고 우리는 이미 수천 건의 위반 사항이있는 Sonar (코드 분석 도구)를 가진 사람들을 시행합니다. 이제 토론은 레거시에 대한 위반을 낮추기 위해 …

7
코드 검토를 효율적으로 모니터링하는 방법은 무엇입니까?
팀에서 주요 코드 검토가 완료된 것으로 보입니다. 주석없이 너무 많은 코드 검토가 병합되었습니다. 하나의 주석없이 코드 검토와 같은 것이없는 것처럼 보입니다. 팀 리더로서 팀이 적절한 코드 검토 프로세스를 수행하고 있는지 확인하고 프로세스의 이점을 극대화하도록 어떻게 도울 수 있습니까? 최신 정보 사람들은 모든 업데이트에 대해 알고 싶어 할 것입니다. 나는 여기에 …

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