소프트웨어 공학

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

13
단위 테스트는 어떻게 작동합니까?
코드를 더 강력하게 만들고 단위 테스트에 대해 읽었지만 실제로 유용한 용도를 찾는 것이 매우 어렵다는 것을 알게되었습니다. 예를 들어, Wikipedia 예는 다음과 같습니다. public class TestAdder { public void testSum() { Adder adder = new AdderImpl(); assert(adder.add(1, 1) == 2); assert(adder.add(1, 2) == 3); assert(adder.add(2, 2) == 4); assert(adder.add(0, 0) …

5
오픈 소스 프로젝트에서 외부 종속성을 어떻게 처리합니까?
오픈 소스 프로젝트를 작성하고 Google Code 또는 GitHub를 사용하고 Lua와 같은 라이브러리를 사용하려는 경우 어떻게해야합니까? 저장소에 종속성이 포함되어야합니까? 종속성을 나머지 프로젝트와 동일한 빌드 스크립트 또는 별도의 빌드 스크립트에서 빌드해야합니까? 컴파일하기 전에 라이브러리를 설치할 필요가 없다고 가정합니다.

4
이와 같은 코드가 "기차 사고"입니까 (Demeter of Law)
내가 작성한 일부 코드를 탐색하면서 다음과 같은 구성을 보았습니다. 언뜻보기에 충분히 깨끗해 보입니다. 그렇습니다. 실제 코드 getLocation()에서이 메서드는 좀 더 구체적인 이름을 가지고 있는데,이 이름은 정확히 어떤 위치에 도달하는지 더 잘 설명합니다. service.setLocation(this.configuration.getLocation().toString()); 이 경우 service알려진 형식의 인스턴스 변수이며 메서드 내에서 선언됩니다. this.configuration클래스 생성자에 전달되어 제공되며 특정 인터페이스를 구현하는 클래스의 …

3
FizzBuzz 질문 효과에 대한 공식적인 연구가 있습니까? [닫은]
닫은. 이 질문은 주제에 맞지 않습니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? Software Engineering Stack Exchange에 대한 주제가 되도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 본 후 이 질문을 주위에 관련된 다른 질문을 FizzBuzz 인터뷰 질문의 변화에 오늘뿐만 아니라보고, 나는 물어 봐야 : 어떤이 공식 이 …

7
Linux 컴퓨터에서 iOS 앱을 개발할 수없는 기술적 이유가 있습니까?
Linux 컴퓨터에서 OS X 앱을 개발할 수없는 이유를 이해하지만 Linux에서 iPhone 및 iPad 앱을 개발할 수없는 좋은 기술적 이유가 있습니까? iOS 소스 코드를 iOS 실행 파일로 컴파일하여 Linux의 iOS 시뮬레이터에서 실행하거나 개발 iOS 장치에 설치할 수없는 이유는 무엇입니까? XCode IDE가 Cocoa 애플리케이션이기 때문입니까? 모든 종류의 플랫폼에서 Android 앱을 개발할 수 …
23 ios  linux  xcode 

7
Big O에서 O 란 무엇입니까?
Big O 표기법에서 Big과 O는 무엇입니까? 나는 정의를 읽었으며 O 가 'oh'로 발음되는 것을 말하지 않습니다 . 예를 들어, 나는 O (n)이 선형 알고리즘의 복잡성이라는 것을 알고 있습니다. 여기서 n은 연산 수입니다. 그러나 O 는 무엇 입니까?
23 complexity  big-o 

4
진행중인 리팩토링을 수행하는 방법은 무엇입니까?
그래서 나는이 큰 프로젝트를 가지고 있는데, 그것은 나에 의해 리팩토링되는 과정에 있습니다. 나는 많은 것들을 바꾸고 있기 때문에 곧 컴파일 할 수있는 기회가 없습니다. 나는 이름이 붙은 특별한 자식 지점에 살고 있습니다 cleanup( master물론 결국 합쳐질 것 입니다). 문제는 나 / 우리는 비 컴파일 코드를 커밋하지 않는 정책을 가지고 있다는 …
23 git  refactoring 

4
프로그래머의 작업 환경 (예 : 존중)의 지리적 차이에 대한 연구가 있습니까? [닫은]
닫은. 이 질문은 주제에 맞지 않습니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? Software Engineering Stack Exchange에 대한 주제가 되도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 이 웹 사이트에서 배운 한 가지는 소프트웨어 개발자가 내가 일했던 회사에서 본 것과 동일하게 취급되지 않으며, 그 차이점 중 일부는 문화 또는 …
23 culture 

10
중요하고 기술이 아닌 이해 관계자들에게 좋은 프레젠테이션을하려면 어떻게해야합니까?
월말에 나는 내가 직접 고용 한 소프트웨어 프로젝트에 대한 프레젠테이션을해야하는데, 기본적으로 회사에서 정규직을 구할 것인지를 결정하는 임시 고용인입니다. 지금은 나는 우리 부서의 사장과 두 명의 VP에게 프레젠테이션을 할 것입니다. 대통령은 다른 두 VP보다 프로그래밍 지식이 적고 궁극적으로 인상을 줄 사람입니다. 프레젠테이션에서 전달해야 할 가장 중요한 것은 무엇입니까? 관리자에게 다음 사항을 …

4
Java 성능을 크게 향상시키는 방법은 무엇입니까?
LMAX 팀은 1ms 미만의 대기 시간으로 100k TPS 를 수행 할 수있는 방법에 대한 프레젠테이션을 진행했습니다 . 그들은 프레젠테이션을 블로그 , 기술 문서 (PDF) 및 소스 코드 자체로 백업했습니다 . 최근 Martin Fowler 는 LMAX 아키텍처에 대한 훌륭한 논문을 발표했으며 현재 초당 6 백만 건의 주문을 처리 할 수 ​​있으며 …

9
델리게이트 vs 인터페이스-더 많은 설명이 있습니까?
인터페이스 대신 델리게이트를 사용하는시기 (C # 프로그래밍 가이드) 기사를 읽은 후 아래의 주어진 사항을 이해하는 데 도움이 필요합니다. 이에 대한 예나 자세한 설명이 있습니까? 다음과 같은 경우 대리인을 사용하십시오. 이벤트 디자인 패턴이 사용됩니다. 정적 메소드를 캡슐화하는 것이 바람직합니다. 쉬운 구성이 바람직하다. 클래스는 하나 이상의 메소드 구현이 필요할 수 있습니다. 다음과 …
23 c#  design  .net 

9
라이센스를 변경하기 위해 GPL 코드 재 작성
필요한 것을 정확하게 수행하는 GPL 라이브러리 (이중 라이센스 없음)를 발견했습니다. 불행히도 라이브러리의 GPL 라이센스는 내가 사용하는 다른 라이브러리의 라이센스와 호환되지 않습니다. 따라서 라이센스를 변경할 수 있도록 GPL 라이브러리를 다시 작성하기로 결정했습니다. 내 질문은 : 라이센스를 변경하려면 변경 사항이 라이브러리에 얼마나 광범위해야합니까? 즉, 가장 저렴한 방법은 무엇입니까?
23 licensing  gpl 

7
변수에 getter 및 setter가있는 경우 공용이어야합니까?
개인 변수가있는 클래스가 있고 클래스에 해당 변수에 대한 getter 및 setter가 있습니다. 왜 변수를 공개하지 않습니까? getter와 setter를 사용해야한다고 생각하는 유일한 경우는 set 또는 get 이외의 작업을 수행 해야하는 경우입니다. 예: void my_class::set_variable(int x){ /* Some operation like updating a log */ this->variable = x; }

13
시스템 헝가리어 표기법이 여전히 유용한 방법입니까? [닫은]
여기에 무엇이 요청되는지 말하기가 어렵습니다. 이 질문은 모호하거나 모호하거나 불완전하거나 지나치게 광범위하거나 수사적이며 현재 형태로 합리적으로 대답 할 수 없습니다. 다시 열 수 있도록이 질문을 명확하게 설명 하려면 도움말 센터를 방문하십시오 . 휴일 팔년 전에 . 포럼을 검색했지만 피해야하는 이유와 은색 총알이 아닌 이유 만 찾을 수 없었습니다. 그래서 나는이 …
23 c++  naming 

5
C 컴파일러의 역사는 무엇입니까?
이 질문은 Software Engineering Stack Exchange에서 답변을 얻을 수 있기 때문에 Stack Overflow에서 마이그레이션 되었습니다. 8 년 전에 이주했습니다 . "Dennis Ritchie는 C 언어를 개발했습니다"라고 말할 때 C 언어로 작성된 소스 코드를 컴파일 할 수있는 컴파일러 ( '이미 개발 된 다른 언어를 사용하여')를 작성 했습니까? 그렇다면 첫 C 컴파일러를 작성하는 …
23 c  compiler 

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