소프트웨어 공학

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

3
왜 Android Fragments를 사용합니까?
나는 이 주제에 관한 문서와 다른 질문의 스레드를 읽었 으며 실제로 확신하지 않습니다. 이 기술의 사용 한계가 명확하게 보이지 않습니다. 조각은 이제 모범 사례 로 간주됩니다 . 모든 활동은 기본적으로 하나 이상의 조각을 지원해야하며 레이아웃을 직접 호출하지 않아야합니다. 단편은 다음을 위해 작성됩니다. (가) 허용 Activity이 장치를 재사용, 그들 사이에서 변경할 …

3
느슨한 결합을 달성하는 데 인터페이스가 수퍼 클래스보다 더 유용한 이유는 무엇입니까?
( 이 질문의 목적 상, 내가 '인터페이스'라고 말할 때 나는 다른 의미로 '인터페이스'가 아닌 언어 구조를 의미합니다interface . 즉, 클래스가 외부 세계와 통신하기 위해 조작 해주세요. ) 구체적인 유형 대신 추상화에 의존하는 객체를 가짐으로써 느슨한 결합을 달성 할 수 있습니다. 이 두 가지 이유에 대한 느슨한 결합을 허용 : 1 …

4
런타임에 클래스에 필드 추가-디자인 패턴
고객이 CMS의 eshop에서 제품에 새로운 속성 (예 : 색상)을 추가 할 수 있기를 원한다고 상상해보십시오. 속성을 필드로 사용하는 대신 : class Car extends Product { protected String type; protected int seats; } 아마 다음과 같은 일을 끝내게 될 것입니다. class Product { protected String productName; protected Map<String, Property> properties; } …

5
큰 풀 요청 처리
현재 git 워크 플로를 사용하는 팀과 함께 프로젝트를 진행하고 있습니다. 매우 간단합니다. 마스터는 배포 가능한 상태 여야하며 지점은 기능과 핫픽스를 만드는 데 사용됩니다. 기능 또는 버그 수정이 완료되고 테스트 될 때마다 가능한 빨리 마스터로 이동합니다. 아이디어는 브랜치를 마스터로 다시 병합하기 쉽도록 브랜치를 가능한 작게 만들어야한다는 것입니다. 마스터 브랜치로 푸시 된 …
15 git  workflows 

4
오픈 소스 프로젝트의 기여에서 비롯된 코드를 누가 소유하고 있습니까?
누군가가 사람들이 기여할 오픈 소스 프로젝트 (예 : GPL 라이센스)를 시작하면 전체 프로젝트 수준에서 누가 이러한 기여를 소유합니까? 새로운 코드가 원저자의 소유물이됩니까 아니면 기고자도 저자가됩니까? 진행중인 프로젝트에 대한 권리는 누구에게 있습니까? 예를 들어 누가 두 번째 라이센스로 코드를 릴리스 할 수 있습니까? 원작자 만? 기고자들이 별도로 그렇게 할 수 있습니까, …

4
4 + 1 아키텍처 뷰 모델과 UML 간의 매핑
4 + 1 아키텍처 뷰 모델이 UML에 매핑되는 방식에 대해 약간 혼란 스럽습니다. Wikipedia 는 다음과 같은 매핑을 제공합니다. 논리적보기 : 클래스 다이어그램, 통신 다이어그램, 시퀀스 다이어그램. 개발 뷰 : 컴포넌트 다이어그램, 패키지 다이어그램 프로세스 뷰 : 활동 다이어그램 물리적 뷰 : 배포 다이어그램 시나리오 : 사용 사례 다이어그램 용지 …
15 architecture  uml  model  view 

2
파일 이름의 일부인 버전 번호
일부 소프트웨어는 파일 이름의 일부로 버전 번호가 포함되어 있지만 다른 소프트웨어는 그렇지 않습니다. 나는 후자에 더 익숙하고 더 인기가 있다고 생각하지만 때로는 자바 스크립트 라이브러리에서 이전 유형을 봅니다. 예를 들어, jQuery의 파일 이름은 jquery-2.1.0.js대신에 사용 jquery.js됩니다. 이러한 유형의 파일을 업데이트 할 때마다 해당 파일을로드하는 다른 프로그램에서 해당 위치를 찾아서 참조하는 …

3
다른 API 버전을 지원하는 방법
Rest API를 작성 중이며 다른 버전을 지원하는 가장 좋은 방법이 궁금합니다. 이것은 URI를 V2 또는 V3으로 정의하는 방법을 의미하는 것이 아니라 코드를 구성하는 방법을 의미합니다. 여러 버전을 동시에 지원합니다 (예 : V1 & V2 & V3 URI는 동시에 작동해야합니다. 한 번에 지원되는 금액을 제한하기 위해 V4가 올 때 V1을 폐기합니다. …

5
리팩토링 할 코드에 대한 테스트를 작성해야하는 이유는 무엇입니까?
거대한 레거시 코드 클래스를 리팩토링하고 있습니다. 리팩토링 (나는 추정한다)은 이것을 옹호한다 : 레거시 클래스에 대한 테스트 작성 수업에서 도덕을 리팩터링하다 문제 : 클래스를 리팩터링하면 1 단계의 테스트를 변경해야합니다. 예를 들어, 레거시 메서드에 있던 것이 이제는 별도의 클래스가 될 수 있습니다. 한 가지 방법은 여러 가지 방법 일 수 있습니다. 레거시 …

7
주로 하나의 정규 표현식으로 구성된 큰 함수를 리팩터링해야합니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 방금 약 100 줄에 걸친 함수를 작성했습니다. 그 말을 듣고, 당신은 아마 하나의 책임에 대해 말하고 리팩토링을 촉구하는 …

1
OO 프로젝트에서 팀 작업은 어떻게 이루어 집니까? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 나는 스스로 OO 스타일로 Java로 프로그래밍하고 있습니다. 다른 프로그래머와 함께 일할 기회가 없었습니다 (최소한 아직 전문가는 아닙니다). 호기심으로, …

4
XML 속성 또는 하위 노드 중에서 선택할 수있는 것은 무엇입니까?
데이터베이스의 일부 데이터를 XML로 내보내려고합니다. 예를 들어,이 Person할 수 있습니다 age, name그리고 몇몇 다른 속성. XML 형식을 정의하기위한 두 가지 선택 사항이 있습니다. 선택 # 1 : <Persons> <Person> <Age>16</Age> <Name>Richard</Name> </Person> <Person> <Age>34</Age> <Name>Eric</Name> </Person> ... </Persons> 선택 # 2 : <Persons> <Person Age="16" Name="Richard"/> <Person Age="34" Name="Eric"/> ... …
15 xml 

5
일부 팀원은 스프린트 계획에 적극적으로 참여하지 않습니다
일부 팀원은 자신이 작업 할 가능성이 가장 높은 이야기가 논의 될 때까지 기다렸다가 참여해야합니다. 그렇지 않으면 그들은 단지 전화를 가지고 놀고 듣지 않습니다. 어떤면에서 나는이 입장을 이해한다. 왜 스프린트에서 또는 개발에 도움이되지 않는 기능에 대한 토론을 듣습니까? 우리는 어떻게해야한다고 생각합니까?
15 agile  scrum 

7
이것이 goto 진술을 정당화합니까?
나는 두 번째 전에이 질문을 보았고 거기에서 몇 가지 자료를 가져 왔습니다 . 'break n'구문의 이름이 있습니까? 이것은 사람들이 프로그램을 이중 중첩 for 루프에서 벗어나도록 지시 해야하는 복잡한 방법으로 보입니다. for (i = 0; i < 10; i++) { bool broken = false; for (j = 10; j > 0; …

2
어느 것이 더 낫습니다 : getters 또는 선택 문자열 매개 변수가있는 1 개의 메소드?
우리의 지식 영역은 맨발로 압력판을 걷는 사람들과 관련이 있습니다. 센서 데이터에서 사람의 발이 인식되면 '발'클래스의 물체를 만드는 이미지 인식을 수행합니다. 발 데이터에 대해 몇 가지 계산을 수행해야합니다. 이제 어떤 API가 더 좋을까요? class Foot : public RecognizedObject { MaxPressureFrame getMaxPressureFrame(); FootAxis getFootAxis(); AnatomicalZones getAnatomicalZones(); // + similar getters for other …

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