소프트웨어 공학

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

5
REST 표준을 의도적으로 위반하는 아키텍처 변경을 설명하는 방법은 무엇입니까?
여러 가지 문제로 어려움을 겪고있는 잘못 설계 한 소프트웨어 프로젝트에 대한 변경을 제안하고 있습니다. 높은 수준에서 프로젝트는 프론트 엔드에서 Angular를 사용하고 다양한 REST API를 소비합니다. 그것은 모두 훌륭합니다 (우리의 기술이나 도구를 변경할 필요가 없습니다). 문제는 코드 기반이 서버 측 API보다 UI에서 불균형 적으로 크다는 것입니다. 대부분의 비즈니스 로직은 UI에 있으며 …

2
UTF-8 CSV 파일에 BOM (바이트 순서 표시)이 포함되어야합니까?
업무용 소프트웨어를 사용하면 특정 데이터를 CSV 로 저장할 수 있습니다 . 야생에서 사용되는 다양한 형식 (모두 "CSV")이 많으므로 "기본 형식"의 모양을 결정하려고합니다. 라인 / 필드 구분 기호 및 이스케이프와 관련하여 사용할 수있는 표준이 있습니다. RFC 4180 . 텍스트 인코딩과 관련하여 UTF-8 은 "기본 텍스트 파일 형식"으로 지난 10 년 동안 …


7
단위 테스트에서 널 매개 변수로 오브젝트를 구성 할 수 있습니까?
현재 프로젝트에 대한 단위 테스트를 작성하기 시작했습니다. 그래도 경험이 없습니다. 먼저 "완료"하고 싶기 때문에 현재 IoC 프레임 워크 나 조롱 라이브러리를 사용하지 않습니다. 단위 테스트에서 객체의 생성자에 null 인수를 제공하는 데 문제가 있는지 궁금합니다. 몇 가지 예제 코드를 제공하겠습니다. public class CarRadio {...} public class Motor { public void SetSpeed(float …

3
시스템을 디자인 할 때 사용할 프레임 워크를 중심으로 디자인을 제공하는 것이 가장 좋은 방법입니까?
특정 프레임 워크와 함께 사용할 시스템 또는 응용 프로그램을 개발할 때 프레임 워크를 염두에 두지 않고 시스템을 디자인하는 것이 가장 좋은 방법입니까, 아니면 "프레임 워크가 더 쉬울 것입니다"라는 사고 방식으로 시스템을 디자인하는 것이 좋습니다 이것으로 "

8
업데이트 방법에 반환 유형을 추가하면 "단일 책임 원칙"을 위반합니까?
데이터베이스의 직원 데이터를 업데이트하는 방법이 있습니다. Employee"업데이트"개체 수단이 실제로 새로운 객체를 인스턴스화 있도록 클래스는 불변이다. 내가 원하는 Update방법의 새로운 인스턴스를 반환하는 Employee업데이트 된 데이터와 함께,하지만 지금부터 나는 방법의 책임이 말할 수있는 직원 데이터를 업데이트 할 수 및 새로운 데이터베이스에서 가져 Employee객체를 가 위반 않고, 단일 책임 원칙을 ? DB 레코드 …

3
파이썬에서 "클래스 메소드"와 "인스턴스 메소드"란 무엇입니까?
채팅과 관련된 질문 (질문 자체는 이것과 관련이 없음)과 관련하여 토론이 있었는데, 파이썬을 전혀 알지 못할 수도 있음이 밝혀졌습니다. 제 생각에는 언어마다 용어가 다르지만 일반적으로 함수를 다음과 같이 분류 할 수 있습니다. [무료] 기능 정적 메소드 / 정적 멤버 함수 비 정적 메소드 / 비 정적 멤버 함수 분명히 파이썬에는 위의 …

9
팀에서 서로 다른 개발 스타일 (위에서 아래로)을 처리하는 방법은 무엇입니까?
아주 작은 팀에서 {현재 비교적 작지만 나중에 더 큰 프로젝트} 프로젝트를 시작했다고 가정 해 보겠습니다. 이것은 학기 말에 폐기 될 학업 프로젝트가 아닌 실제 세계의 다른 개발자들이 사용하기위한 실제 프로젝트입니다. 그러나이 코드는 아직 다른 사람에게 공개되지 않았으므로 아직 결정이 내려지지 않았습니다. 방법론 여러분 중 한 명이 코딩을 시작하고 모든 구성 …


4
GUI 프로그래밍에서 스레드 안전을 보장하는 것이 호출자의 책임 인 이유는 무엇입니까?
많은 곳에서 UI 구성 요소를 업데이트 할 때 (특히 Java Swing에서 Event Dispatch Thread에 있음 ) UI 스레드에 있는지 확인하는 것은 호출자의 책임이라는 것이 정식적인 지혜 1 임을 알았 습니다. . 왜 그렇습니까? 이벤트 디스패치 스레드는 MVC / MVP / MVVM 의 관점 에서 중요합니다 . 뷰를 어디에서나 처리하기 위해 …

6
오픈 소스 소프트웨어 출시가 너무 빠름 [폐쇄]
오픈 소스 소프트웨어를 너무 빨리 출시하는 도덕적 책임은 무엇입니까? 예를 들어, 완전히 테스트되지 않은 완제품에 가깝습니다. 프로그래머의 기대는 무엇입니까? 완전히 테스트 될 때까지 기다리거나 오픈 소스로 릴리즈 한 다음 추가 개발, 테스트 및 발전을 계속 하시겠습니까? 문제는 소프트웨어가 오픈 소스이며 소비자에게 문제를 일으킬 수 있다는 것입니다. 이것이 근거없는 두려움입니까?

8
전 이적으로 포함 된 헤더에 의존하는 것이 좋습니다?
작업중 인 C ++ 프로젝트에서 포함을 정리하고 있으며 특정 파일에 직접 사용되는 모든 헤더를 명시 적으로 포함 해야하는지 또는 최소값 만 포함 해야하는지 궁금합니다. 예를 들면 다음과 같습니다 Entity.hpp. #include "RenderObject.hpp" #include "Texture.hpp" struct Entity { Texture texture; RenderObject render(); } (forward 선언 RenderObject은 옵션이 아니라고 가정합니다 .) 지금, 나는 …
37 c++  c  headers  include 

11
생성자 전용 서브 클래스 : 안티 패턴입니까?
나는 동료와 토론을하고 있었고, 결국 서브 클래 싱의 목적에 대해 직관이 상충되었습니다. 내 직감은 서브 클래스의 주요 기능이 부모의 가능한 범위의 값을 표현하는 것이라면 아마도 서브 클래스가 아니어야한다는 것입니다. 그는 반대 직관을 주장했다. 서브 클래 싱은 객체의 "특정"성을 나타내므로 서브 클래스 관계가 더 적절하다. 직관을보다 구체적으로 설명하기 위해 부모 클래스를 …

9
객체 지향 코드를 작성할 때 항상 디자인 패턴을 따라야합니까?
객체 지향 프로그램에 대해 생각할 수있는 디자인 패턴이 있습니까? 최근에으로 Door클래스 의 구현을 보았 기 때문에 이것을 묻습니다 Lock. 테스트의 일부였으며 코드가 Null Object 패턴을 따른다고 답했습니다. class Lock { public: virtual void close() = 0; virtual void open() = 0; virtual bool is_open() const = 0; virtual ~Lock() { …


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