소프트웨어 공학

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

3
C ++에서 동일한 목적으로 인터페이스를 사용할 수있는 반면 PImpl 패턴의 요점은 무엇입니까?
C ++에서 PImpl 관용구를 사용하는 많은 소스 코드가 보입니다. 개인 데이터 / 유형 / 구현을 숨기고 의존성을 제거한 다음 컴파일 시간과 헤더 포함 문제를 줄이는 것이 목적이라고 가정합니다. 그러나 C ++의 인터페이스 / 순수한 클래스에도이 기능이 있으며 데이터 / 유형 / 구현을 숨길 수 있습니다. 그리고 객체를 생성 할 때 …

1
Go에“새로운”이유가있는 이유는 무엇입니까?
나는 왜 우리가 newGo에 있는지에 대해 여전히 의아해 합니다. 구조체를 인스턴스화하고 싶을 때 t := Thing{} 그리고 당신은 새로운 인스턴스에 대한 포인터를 얻을 수 있습니다 t := &Thing{} 그러나이 가능성도 있습니다. t := new(Thing) 이 마지막 언어는 나머지 언어에 약간 외계인처럼 보입니다. &Thing{}명확하고 간결하며 new(Thing)다른 곳에서 자주 사용하는 구문 만 …
49 go 

9
민첩한 개발을 (폭포) 고객에게 판매하는 방법
우리의 개발 샵은 더 민첩한 프로젝트를하고 싶지만 고객을 선발하는 데 문제가 있습니다. 많은 고객들이 예산과 마감일을 원합니다. 경쟁 업체가 폭포 기반 고정 마감일과 고정 가격을 제시 할 때 민첩한 프로젝트에서 고객을 판매하는 것은 어렵습니다. 우리는 고정 번호가 잘못되었음을 알고 있지만 고객은 그것을 모른다. 따라서 우리는 가격이나 마감 기한을 고칠 수는 …
49 agile 

12
WCF와 웹 API에 대한 기술 토론은 어떻게 관리합니까?
저는 현재 15 명의 개발자로 구성된 팀을 관리하고 있으며, WCF와 웹 API의 사용에 대해 토론하면서 팀이 완전히 반대되는 두 팀으로 나뉘는 기술을 선택하는 데 어려움을 겪고 있습니다. 웹 API 사용을 지원하는 팀 A는 다음과 같은 이유를 제시합니다. 웹 API는 현대적인 서비스 작성 방법입니다 ( Wikipedia ) WCF는 HTTP에 대한 오버 …
49 wcf  decisions  web-api 

7
for 루프에서 세미콜론과 쉼표가 서로 바뀌는 이유는 무엇입니까?
많은 언어 (C에서 JavaScript까지 광범위한 목록) : 쉼표 ,별도의 인수 (예 func(a, b, c)) 동안 세미콜론 ;은 순차적 명령어를 분리합니다 (예 :) instruction1; instruction2; instruction3. 그래서 왜이 매핑이 for 루프 에 대해 동일한 언어로 반전 되었습니까 ? for ( init1, init2; condition; inc1, inc2 ) { instruction1; instruction2; } 대신 …

10
"적절한"프로그래밍은 언제 더 이상 중요하지 않습니까?
여가 시간에 안드로이드 게임을 만들고 있습니다. 그것은 libgdx 라이브러리를 사용하고 있기 때문에 꽤 많은 노력이 필요합니다. 개발하는 동안 일부 절차에 대해 부주의하게 데이터 유형을 선택했습니다. 연관 배열에 가까운 것을 원했기 때문에 해시 테이블을 사용했습니다. 사람이 읽을 수있는 키 값. 비슷한 것을 달성하기 위해 다른 곳에서는 벡터를 사용합니다. libgdx에 vector2 및 …

4
Github 및 Heroku를 사용할 때 민감한 데이터를 어떻게 처리합니까?
나는 아직 Git이 작동하는 방식에 익숙하지 않다 (그리고 Linus 이외의 누군가가;인지 궁금하다). Heroku를 사용하여 응용 프로그램을 호스팅하는 경우 Git 리포지토리에서 코드를 확인해야합니다. 오픈 소스 프로젝트에서 작업하는 경우 Github 또는 다른 Git 호스트에서이 리포지토리를 공유 할 가능성이 높습니다. 공개 리포지토리에서 확인할 사항이 없습니다. 데이터베이스 비밀번호, API 키, 인증서 등 ... 그러나 …
49 git  github  heroku 


9
"말하고 묻지 말 것"이 어떻게 좋은 OO로 간주되는지에 대한 설명
이 블로그 게시물 은 여러 업 보트와 함께 Hacker News에 게시되었습니다. C ++에서 나온 대부분의 예제는 내가 배운 것과 반대되는 것 같습니다. 예 # 2와 같은 : 나쁜: def check_for_overheating(system_monitor) if system_monitor.temperature > 100 system_monitor.sound_alarms end end 대 좋은 : system_monitor.check_for_overheating class SystemMonitor def check_for_overheating if temperature > 100 sound_alarms …

9
Linux에서 C ++ 및 C 개발을위한 IDE 비교 : KDevelop, Eclipse, NetBeans, CodeBlocks 및 Anjuta [닫기]
Linux에서 풀 스케일 IDE를 사용한 경험에 주목하고 싶습니다. 나는 개인적으로 주로 vim일하지만 다른 프로그래머는 실제 IDE를보고 싶습니다. 따라서 다음과 같은 맥락에서 다른 IDE에 대한 개인적인 의견과 이들 간의 비교를 듣고 싶습니다. C ++ 및 일부 C 개발 (Java, Python 및 기타 자료 아님) 서버 측 프로그래밍 (GUI 개발 불필요) "크로스 …
49 c++  ide  linux 

11
자동 테스트의 단점은 무엇입니까?
이 사이트에는 자동화 된 테스트를 통해 얻을 수있는 이점에 대한 많은 정보가있는 여러 가지 질문이 있습니다. 그러나 나는 동전의 다른 쪽을 나타내는 것을 보지 못했습니다. 단점은 무엇입니까? 인생의 모든 것은 트레이드 오프이며은 총알이 없으므로 자동화 된 테스트를 수행하지 않는 몇 가지 정당한 이유가 있어야합니다. 그들은 무엇인가? 내가 생각해 낸 몇 …

21
미완성 학위에 대한 몇 년의 경험? [닫은]
저는 현재 배치 년도에 훌륭한 소프트웨어 개발 회사에서 일하고 있습니다. 항상 대학을 통해이 단계에 도달하고 충분한 학업 경험과 1 년 과정을 마치고 학위를 마칠 필요없이 풀 타임 프로그래밍 직업을 얻으려고 노력했습니다. 나는 전체 대학 환경을 결코 좋아하지 않았기 때문에 초기 단계에서 이것을 결정했습니다. 나는 대학에서 매우 불행했고 지금은 행복합니다. 저는 …

13
이전에 다른 회사를 위해 코딩 한 프로그램을 재생성 / 오픈 소스하는 것이 합법적입니까?
이전 직장에서 나는 작업 자동화를위한 일반 대시 보드를 만들었고 그 기능은 매우 유용하다는 것이 밝혀졌습니다. 물론 이전 고용주는 제가 그곳에서 일하는 동안 작성한 모든 코드를 소유합니다. 이제 더 이상 존재하지 않으므로 메모리에서 해당 대시 보드를 다시 만들고 코드를 공개 소스로 만드는 것이 합법적입니까? 내가 그것을 다시 만들면 코드 (2k-3k 줄)는 …

15
스프린트 하나보다 오래 걸리는 리팩토링을 어떻게 처리합니까?
500K 줄 이상의 코드베이스로 작업합니다. 리팩토링이 심각하게 필요합니다. 일반적인 2 주 스프린트보다 오래 걸리는 리팩토링 노력이 확인되었습니다. 이 사이트의 다른 답변에서 제안한 것처럼 작은 작업으로 나눌 수 없습니다. 반복 종료시 제품이 작동해야하며 부분 리팩토링은 항목 간의 종속성이 끔찍하므로 시스템을 사용할 수없는 상태로 둡니다. 그렇다면이 장애물에 접근하는 가장 좋은 방법은 무엇입니까? …

10
서명하고 싶지 않은 NDA 관련 법적 문제 [닫기]
본인은 현재 고용주가 서명하고 싶지 않다는 비공개 계약 (NDA)을 받았습니다. 그것은 엄청나게 개방되어 있으며 3 주 전에 서명 한 초기 고용 계약의 조건이었던 것 같습니다. 이 문서에는 "직접 또는 간접적으로 포함하는"및 "직접 또는 간접적으로"의 형태로 정의가 많이 포함되어 있습니다. 또한 다음과 같이 말합니다. 계약을 위반하면 회사에 돌이킬 수없는 피해를 입힐 …

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