소프트웨어 공학

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

5
보이드 방법의 단위 테스트
응용 프로그램의 버그를 수정하기 위해라는 postLogin기존 메서드에 호출을 추가하여 이름이 지정된 메서드를 수정했습니다 getShoppingCart. 암호 protected void postLogin() { getShoppingCart(); } 그러나 단위 테스트를 작성하는 가장 좋은 방법은 무엇인지 잘 모르겠습니다 postLogin. 접근법 1 Mockito의 verify를 사용하여 메소드가 호출되었는지 간단히 확인하십시오. verify(mock).getShoppingCart(); 접근법 2 사용자 장바구니 값을 가져 와서 메소드 …

2
CQRS가 과도하게 엔지니어링되지 않습니까?
나는 아직도 좋은 옛날 저장소를 기억합니다. 그러나 저장소는 시간이 지남에 따라 못 생겼습니다. 그런 다음 CQRS가 주류를 얻었습니다. 그들은 좋았고, 신선한 공기를 마셨다. 그러나 최근에 나는 컨트롤러의 Action 메소드 (특히 액션이 자체적으로 일종의 명령 / 쿼리 처리기 인 Web Api)에서 로직을 유지하지 않는 이유를 반복해서 묻고 있습니다. 이전에는 그에 대한 …

5
코딩 표준 문서 작성
나는 주요 작업이 SCADA 및 PLC 인 제어 시스템 회사에서 다른 제어 시스템과 함께 일합니다. 소프트웨어 개발은 ​​내부 프로젝트 관리 및 평가 시스템을 만들기로 결정하기 전까지는 회사가하는 일이 아닙니다. 이 프로젝트는 원래 소프트웨어 사용자로 온 사람들이 수행했으며 대부분 주니어입니다. 프로젝트는 소규모로 시작되었으므로 디자인, 데이터베이스 등과 같은 내용 만 문서화했지만 코딩 …

5
오픈 소스 프로젝트가 제품에서 사용하기에 충분히 성숙한 지 아는 방법은 무엇입니까?
직장에서 제품에 포함시키고 싶은 오픈 소스 프로젝트가 있습니다. 우리는 스스로 할 대역폭이나 주제 전문 지식이 없습니다. Google에서 검색하여 찾았습니다. 나는 프로젝트를 이용하는 "주요 선수들"을 모른다. 그러나 나는 내가 본 것에 매우 고무되어있다. 이제 joe-blow의 오픈 소스 프로젝트를 사용하여 노출되는 위험 정도에 대해 약간 걱정하고 있습니다. 나에게 95 %가 걸리면 나머지 …

3
MVVM 설명
우리는 첫 번째 WPF 응용 프로그램을 작성하려고하고 있으며 MVVM 패턴에 익숙해지고 있습니다. 우리는 많은 Winform 응용 프로그램을 구축했으며 매우 성공적인 아키텍처를 보유하고 있습니다. 아키텍처를 번역하거나 아키텍처의 특정 부분이 MVVM 모델에 적합한 위치를 결정하는 데 약간의 문제가 있습니다. 역사적으로 우리는 BusinessLogic dll과 통신하는 Gui (메인 exe)를 가지고 있습니다. BusinessLogic은 웹 서비스를 …

7
C # 코드에서 HTML을 만드는 가장 좋은 방법은 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 마크 업은 코드가 아닌 마크 업으로 유지되어야한다고 생각합니다. 코드 뒤에 HTML을 작성하는 것이 허용되는 상황에 도달했습니다. 모범 사례가 …
15 c#  asp.net  html 

5
DDD, Saga & Event-sourcing : 보상 조치가 단순히 이벤트 저장소에서 삭제 될 수 있습니까?
위의 질문은 아마도 몇 가지 '무엇입니까?'를 제기하지만, 설명하려고 노력할 것입니다. 이벤트 소싱 (DDD- 개념)과 함께 기본적으로 Saga-pattern ( http://www.rgoarchitects.com/Files/SOAPatterns/Saga.pdf ) 과 같은 두 가지 관련 개념을 설명하려고합니다. : http://en.wikipedia.org/wiki/Domain-driven_design ) 함께 포장하는 좋은 게시물 : https://blog.jonathanoliver.com/cqrs-sagas-with-event-sourcing-part-ii-of-ii/ 나는 잠시 후에 질문에 도달하고 있지만, 내가 이해하는 것을 먼저 요약하려고 노력해야한다고 생각합니다 (잘못 …

5
switch statement-기본 사례에 도달 할 수없는 경우 처리
스위치 클래스를 사용하여 열거 형 (내 클래스가 소유 한)의 값을 처리하고 가능한 각 값에 대한 사례가있는 경우 "기본"사례를 처리하기 위해 코드를 추가 할 가치가 있습니까? enum MyEnum { MyFoo, MyBar, MyBat } MyEnum myEnum = GetMyEnum(); switch (myEnum) { case MyFoo: DoFoo(); break; case MyBar: DoBar(); break; case MyBat: DoBat(); …

7
작업 시스템을 교체 할 때 민첩성이 어떻게 작동합니까?
이상적인 애자일 세계에서는 원하는 최종 시스템의 작지만 유용한 서브 세트를 신속하게 구축하여 사용자에게 제공합니다. 그들은 유용하기 때문에 흥분합니다. 사용하기 시작하고 피드백을 제공합니다. 그런 다음 추가 할 작업을 수행하고 빌드 한 후 시간이 없을 때까지 반복하십시오. 최근에 일종의 작업 시스템을 교체하는 몇 가지 프로젝트가있었습니다. 위의 모델은 전혀 작동하지 않았습니다. 기존 시스템의 …


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

7
재산에서 예외를 던지는 것은 나쁜 형태입니까?
나는 항상 속성들 (즉, 그들의 집합 / get 오퍼레이션)이 빠르거나 즉각적이고 고장이 없어야한다는 생각을 해왔다. 속성을 가져 오거나 설정하려고 시도하거나 잡을 필요가 없습니다. 그러나 일부 객체의 속성에 역할 기반 보안을 적용하는 몇 가지 방법을 찾고 있습니다. 예를 들어 Employee.Salary 속성입니다. 내가 그 사람을 통해 실행 한 솔루션 중 일부는 시도 …
15 .net  exceptions 

7
수업 문서 헤더에 포함해야 할 내용
엔티티, 비즈니스 로직 및 데이터 액세스 클래스에 대한 유익한 클래스 문서 형식을 찾고 있습니다. 여기 에서 두 가지 형식을 발견 했습니다. 형식 1 ///----------------------------------------------------------------- /// Namespace: <Class Namespace> /// Class: <Class Name> /// Description: <Description> /// Author: <Author> Date: <DateTime> /// Notes: <Notes> /// Revision History: /// Name: Date: Description: …

7
개인 메소드를 단위 테스트 할 필요가없는 방법
나는 당신이 개인 메소드를 테스트하지 않아야한다는 것을 알고 있습니다. 필요한 것처럼 보이면 클래스가 나올 수 있습니다. 그러나 공용 인터페이스를 테스트 할 수 있도록 gazillion 클래스를 원하지 않고 공개 클래스를 테스트하면 많은 클래스에서 많은 의존성을 조롱해야하며 단위 테스트는 다음과 같습니다. 엄청나고 따르기가 어렵다. 공개 메소드를 테스트 할 때 개인 메소드를 조롱하고 …

3
스케일링 모놀리스 및 스케일링 마이크로 서비스
마이크로 서비스 사용에 대한 일반적인 논거 중 하나는 더 나은 확장 성입니다. 그러나이 주장이 실제로 유효한지 궁금합니다. 10 개의 마이크로 서비스로 구성된 애플리케이션이 있고 그 중 9 개는 각 2 개의 인스턴스 (중복 용)를 가지고 있고 그 중 하나는 4 개의 인스턴스를 사용하여로드 (확장 성)를 처리한다고 가정 해 보겠습니다. pro-microservice의 …

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