소프트웨어 공학

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

5
C ++ : 클래스가 종속성을 소유하거나 관찰해야합니까?
class Foobar사용 하는 클래스가 있다고 가정 해보십시오 Widget. 좋은 시절에는 Widgetwolud를의 필드로 선언 Foobar하거나 다형성 동작이 필요한 경우 스마트 포인터로 선언 하면 생성자에서 초기화됩니다. class Foobar { Widget widget; public: Foobar() : widget(blah blah blah) {} // or std::unique_ptr<Widget> widget; public: Foobar() : widget(std::make_unique<Widget>(blah blah blah)) {} (…) }; 그리고 …

3
코드 메트릭을 버그 밀도와 상관시키는 실험
누군가가 객체 지향 응용 프로그램의 버그 밀도와 코드 메트릭 (SLOC, Cyclomatic Complexity 등)을 상관시키는 실험을했는지 궁금합니다. 나는 상관 관계를 증명하거나 반증하는 실험을 찾고 있지 않지만 둘 다에서 실험을 찾고 있습니다. 나는 프로젝트의 버그 밀도가 있다고 생각 같은 묘책을 찾기 위해 노력하고 있지 않다 수도 주어진 프로젝트 또는 팀을 위해 하나 …

4
C # 메서드에서 반환 변수 선언 및 값을 직접 반환
반환 변수에 대한 토론에서 팀의 일부 구성원은 결과를 호출자에게 직접 반환하는 방법을 선호하는 반면 다른 구성원은 반환 변수를 선언하여 호출자에게 반환하는 것을 선호합니다 (아래 코드 예 참조) 후자의 주장은 코드를 디버깅하는 개발자가 메소드를 호출자에게 리턴하기 전에 메소드의 리턴 값을 찾도록하여 코드를 이해하기 쉽게 만든다는 것입니다. 이는 특히 메소드 호출이 데이지 …

4
펌웨어 / 임베디드 시스템 소프트웨어 개발을 위해 민첩한 방법론을 채택하는 방법은 무엇입니까?
나는 항상 민첩한 방법을 실제로 복잡한 복합 시스템 소프트웨어 (100+ 엔지니어)에 적용하는 방법을 궁금해했습니다. 펌웨어 개발에는 애자일하기 어려운 고유 한 특성이 있습니다 (즉, 개발주기 후반까지는 하드웨어를 사용할 수 없습니다. 제품이 출시되면 펌웨어를 쉽게 업데이트 할 수 없습니다. 이러한 종류의 개발에서 표준은 두꺼운 문서와 거친 동료 리뷰입니다. 2-3 개의 서명없이 변수 …

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

4
클래스 및 인터페이스 파일을 가장 잘 구성하는 방법은 무엇입니까?
OK .. 모든 토론 후에 내가 다루고있는 구체적인 예를 더 잘 반영하기 위해 질문을 약간 변경하고 있습니다. 나는이 개 수업을 ModelOne하고 ModelTwo이 클래스는 기능의 유사한 유형을 수행하지만 서로 관련이없는. 그러나 나는 제 3 유형이 CommonFunc모두 구현되어 일부 공공 기능을 포함 ModelOne하고 ModelTwo및 당 밖으로 고려되었습니다 DRY. 두 모델은 클래스 내에서 …

4
현지화 (서버 측 또는 클라이언트 측)는 어디에서해야합니까?
현재 서버의 여러 REST 웹 서비스와 통신하는 풍부한 JavaScript 클라이언트를 기반으로 새 웹 응용 프로그램을 개발 중입니다. 이 응용 프로그램은 언어가 다른 두 개 이상의 국가에서 사용하도록되어 있으므로 현지화해야합니다. 내 질문은 현지화를 어디에서 관리해야 하는가입니다. REST 서비스는 현지화 된 데이터로 요청을 받아서 응답을 보내야합니까, 아니면 클라이언트가 일반 데이터를 받아서 보내서 …

3
DDD 및 CRQS를 사용할 때 명령 당 정확히 하나의 이벤트 여야합니까?
구성에 대한 규칙을 사용하여 ddd 응용 프로그램을 디자인하는 방법을 찾고 있습니다. 집계 "클라이언트"에 "FillProfile"로 정의 된 명령이 있다고 가정하십시오. 논리적으로 "ProfileFilled"이벤트가 발생합니다. 명령이 이벤트 이상을 발생 시키거나 일부 논리에 따라 명령이 다른 이벤트를 발생시키는 경우가 있습니까? 또는 이것은 항상 1-1 관계입니까 (1 명령은 항상 없음 또는 주어진 유형의 단일 이벤트를 …

6
열거 형은 코드 냄새가 아닌 경우는 언제입니까?
양도 논법 나는 객체 지향 실습에 관한 많은 모범 사례를 읽었으며, 읽은 거의 모든 책은 열거 형이 코드 냄새라고 말하는 부분을 가지고있었습니다. 열거 형이 유효 할 때 설명하는 부분을 놓친 것 같습니다. 따라서 열거 형이 코드 냄새 가 아니며 실제로 유효한 구조 가되는 지침 및 / 또는 사용 사례를 찾고 …

4
한 곳에서 클라이언트 측 및 서버 측 유효성 검사 관리
나는 하나가있는 경우 보드에 100 % 야 한다 확실히 클라이언트 측 및 서버 측 데이터 유효성 검사를 모두 사용합니다. 그러나 내가 작업 한 프레임 워크와 환경에서 내가 본 접근 방식은 결코 건조하지 않았습니다. 대부분의 경우 계획이나 패턴이 없습니다. 유효성 검사는 모델 사양에 작성되고 유효성 검사는 뷰의 형식으로 작성됩니다. (참고 : …

5
TDD에서 프로덕션 코드를 수정하지 않고 통과 한 테스트 사례를 작성하면 무엇을 의미합니까?
다음은 TDD에 대한 Robert C. Martin의 규칙입니다 . 실패한 단위 테스트를 통과하지 않으면 프로덕션 코드를 작성할 수 없습니다. 실패하기에 충분한 단위 테스트를 더 이상 작성할 수 없습니다. 컴파일 실패는 실패입니다. 실패한 단위 테스트를 통과하기에 충분한 양보다 더 많은 생산 코드를 작성할 수 없습니다. 가치가 있지만 테스트 코드를 변경하지 않고 통과하는 …

5
메시지 대기열. 데이터베이스 대 전용 MQ
메시지 대기열에 대한 조언을 받고 있습니다. "작업"을 메시지 큐에 게시해야합니다. 원래 제안은 단지 SQL Server 인스턴스를 사용하고 그로부터 메시지를 처리하는 것입니다. 인터넷에서 읽은 모든 내용은 Message Queue에 데이터베이스를 사용하는 것이 확장 가능한 솔루션이 아니라고 제안합니다. 이러한 이유로 RabbitMQ 또는 다른 타사 MQ를 사용한다는 아이디어가 제안되었습니다. 고려해야 할 또 다른 사항은 …

1
단위 테스트와 통합 테스트를 분리해야합니까?
프로젝트에 대한 단위 테스트 및 통합 테스트를 작성해야합니다. 모든 테스트를 단일 테스트 폴더에 넣어야 합니까? 아니면 단위 테스트와 통합 테스트가 각각 별도의 테스트 폴더에 있어야 합니까? 아니면 별도의 프로젝트에 넣어야 합니까? 함께 사용하면이 접근 방식의 장점이나 단점이 있습니까?

3
초과 (체크 된) 예외를 사용하는 이유는 무엇입니까?
얼마 전 나는 자바 대신 스칼라를 사용하기 시작했다. 나를위한 언어들 사이의 "변환"과정의 일부는 Either(확인 된) 대신 s 를 사용하는 방법을 배우고있었습니다 Exception. 나는이 방법을 잠시 동안 코딩 해 왔지만 최근에 그것이 정말로 더 좋은 방법인지 궁금해하기 시작했습니다. 하나의 큰 장점은 Either이상이 Exception더 나은 성능이다; 는 Exception스택 트레이스를 구축 할 필요가 …

5
MongoDB는 언제 사용해야합니까?
MongoDB는 사용하기 쉬운 NoSQL 데이터베이스입니다. 최근에는 HTTP 요청을 사용하여 데이터를 수집하고 데이터를 처리 한 후 결과를 저장 해야하는 간단한 응용 프로그램을 개발해야했으며 MongoDB를 사용해 보았습니다. 이 경험을 통해 기존의 관계형 데이터베이스보다 사용하기가 훨씬 좋았으며 DBA가 아닌 개발자이기 때문에 작업이 크게 단순화되었습니다. 그럼에도 불구하고 때로는 SQL Server 또는 MySQL과 같은 전통적인 …

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