소프트웨어 공학

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

3
메멘토 패턴의 철학
나는 다양한 인터넷 소스에서 memento 패턴을 읽었습니다. 다른 출처의 정보와 다른 점 때문에이 패턴이 실제로 필요한 이유에 대해 혼란스러워했습니다. dofactory 구현이 패턴의 주요 목적은 시스템의 상태를 복원하는 것을 말한다. Wiki 는 주요 목적은 시스템의 변경 사항을 복원 할 수 있도록 하는 것이라고 말합니다 . 이것은 시스템이 복원 할 필요없이 메멘토를 …

2
"필요한 것만 요청"인터페이스 원리가 있습니까?
나는 기본적으로 "필요한 것만 요구하라"는 인터페이스를 디자인하고 소비하는 원칙을 사용하여 자랐습니다. 예를 들어 삭제할 수있는 유형이 많으면 Deletable인터페이스를 만들 것입니다 . interface Deletable { void delete(); } 그런 다음 일반 클래스를 작성할 수 있습니다. class Deleter<T extends Deletable> { void delete(T t) { t.delete(); } } 코드의 다른 곳에서는 항상 …

11
OOP에서 이미지 크기를 조정할 수 있어야합니까?
Image엔터티 가있는 앱을 작성 중이며 이미 각 작업의 책임을 결정하는 데 문제가 있습니다. 먼저 Image수업이 있습니다. 경로, 너비 및 기타 속성이 있습니다. 그런 다음 ImageRepository테스트 된 단일 메소드로 이미지를 검색하기위한 클래스를 작성했습니다 ( 예 :) findAllImagesWithoutThumbnail(). 그러나 이제는 또한 할 수 있어야합니다 createThumbnail(). 누가 처리해야합니까? 나는 ImageManager응용 프로그램 특정 수업이 …

2
관계형 데이터베이스 회귀 테스트의 데이터 품질
박물관의 가입, 기부, 대출 또는 기타 획득 한 유물을 추적하는 데 사용되는 오픈 소스 Museum Collections Management 웹 응용 프로그램을 작업하고 있습니다. 여기에는 유연하고 쉽게 확장 할 수 있어야하는 모든 종류의 다양한 정보 (유물 정보, 위치 정보 변경, 개인 연락처 정보, 사진 등)를 저장하는 다소 큰 데이터베이스 (이전 경험과 관련하여)를 …

4
새로운 언어가 처음부터 TDD하기 쉽도록 설계된 경우 어떻게됩니까?
가장 일반적인 일부 언어 (Java, C #, Java 등)를 사용하면 코드를 완전히 TDD하려는 경우 언어와 충돌하는 경우가 있습니다. 예를 들어 Java 및 C #에서는 클래스의 모든 종속성을 조롱하고 대부분의 조롱 프레임 워크는 클래스가 아닌 인터페이스를 조롱하는 것이 좋습니다. 이것은 종종 단일 구현으로 많은 인터페이스를 가지고 있음을 의미합니다 (이 효과는 TDD가 …

2
단위 테스트 :“리팩토링하고 공동 작업자가 없다면 코드 냄새가나요?”
Roy Osherove의 The Unit of Unit Testing을 읽고 있습니다. 저자는 코드 냄새에 대한이 노트를 가지고있는 7.2 절 유지 보수 가능한 테스트 작성에있다. 참고 : 외부 테스트에서 볼 수 있도록 내부 상태를 리팩터링 할 때 코드 냄새 (코드 디자인 또는 로직에 문제가 있음)로 간주 될 수 있습니까? 공동 작업자를 노출시키기 위해 …

6
더 많은 프로그래밍 경험을 얻을 수있는 방법
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …
9 c++  experience  qt 

4
성숙한 팀을위한 좋은“정의 된 정의”는 어떤 모습입니까?
다양한 소스에서 수행 된 정의의 예를 볼 때 일반적으로 다음과 같은 점이 포함됩니다. 코드 완성 단위 테스트 실행 동료 검토 또는 짝을 이룬 코드 코드 체크인 설명서 업데이트 … 우리 팀에는 비슷한 목록이 있지만 아무도 그 단계를 건너 뛰지 않을 정도로 명백하게 보이기 때문에 아무도 그것을 보지 않습니다. 따라서 우리는 …

4
모든 기능이 필요하지 않은 경우 Visual Studio Ultimate 설치에 단점이 있습니까?
Microsoft는 오늘 MSDN에 Visual Studio 2012의 최종 빌드를 발표했습니다. 이 버전 비교 페이지에서 설치할 에디션 을 결정하려고합니다 (무료로 원하는 에디션을 설치할 수 있음). 저는 C #과 Python에서 주로 웹 앱과 콘솔 앱을 개발하는 솔로 개발자입니다. Ultimate / Premium의 일부 기능은 UML 및 "역사 디버깅"과 같이 잠재적으로 멋져 보이지만 대부분의 기능은 …

4
메모리 사용 분석 : Java 대 C ++ 무시할 수 있습니까?
Java로 작성된 정수 객체의 메모리 사용량은 C ++로 작성된 정수 객체의 메모리 사용량과 어떻게 비교됩니까? 그 차이는 무시할 만합니까? 차이 없음? 큰 차이? int는 언어에 관계없이 int이기 때문에 동일한 것으로 추측합니다 (?) 내가 묻는 이유 는 프로그램의 메모리 요구 사항이 프로그래머가 주어진 문제를 해결하지 못할 때를 아는 것의 중요성에 대해 …

3
API 파손을 방지하기 위해 일반적으로 REST 서비스 용 클라이언트 라이브러리를 개발해야합니까?
우리는 UI 팀이 동일한 팀에 의해 개발되지만 서비스 계층 (REST / Java)과 다른 언어 (Python / Django)로 개발 될 프로젝트가 있습니다. 각 계층의 코드는 다른 코드 리포지토리에서 종료되며 다른 릴리스주기를 따를 수 있습니다 . UI 계층의 관점에서 서비스 계층의 주요 변경 사항을 방지 / 감소시키는 프로세스를 고안하려고합니다. UI 또는 서비스 …
9 rest  django 

4
인터페이스 또는 클래스 반환
내가 방법을 가지고 있다고 가정 public List<User> GetBatchOfUsers(IEnumerable<int> userIDs) { List<User> users = new List<User>(); // some database stuff return users; } a를 반환하는 대신 인터페이스 ( IList또는 IEnumerable) 를 반환하는 것이 더 낫다는 것을 읽었습니다 List. 내가 들었던 몇 가지 주장은 데이터를 숨기고 API 개발자에게 나중에 데이터의 내부 표현을 …
9 c#  interfaces  class 

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

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

4
외부 EXE를 시작하는 클래스에 대한 단위 테스트 작성
EXE 목록 (시작 해야하는 타사 EXE 중 하나가 아님) 목록을 시작하고 계속 실행하는 데 사용되는 C # 클래스를 작성했습니다 (여전히 실행되고 있는지 확인하고 그렇지 않은 경우 시작) . 추가, 제거 등의 기본 논리를 테스트 할 수 있습니다. EXE를 유지하는 실제 작업이 작동하는지 단위 테스트를 어떻게 수행합니까? 내 첫 생각은 1 …

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