소프트웨어 공학

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

13
단위 테스트를 빠르게 수행하려면 어떻게해야합니까?
우리는 프로젝트에서 거의 천 번의 테스트를 받았으며 사람들은 체크인하는 데 시간이 오래 걸리기 때문에 테스트를 중단하는 것을 중단했습니다. 기껏해야 변경 한 코드와 관련된 테스트를 실행하고 최악의 경우 테스트하지 않고 간단히 체크인합니다. 이 문제는 솔루션이 120 개의 프로젝트로 증가했기 때문에 (우리는 일반적으로 훨씬 더 작은 프로젝트를 수행하며 TDD를 올바르게 수행하는 것은 …
40 c#  unit-testing  tdd  nunit 

9
프로그래머가 가변 범위 이전에 무엇을 했습니까?
그래서, 나는 주요 방법, 변수를 정의하는 몇 가지 데이터 유형, 유형을 반환하지 않는 하위 절차 (본질적으로 공법)를 가질 수있는 겉보기에는 궁극의 언어 (PowerOn이라고 함)를 처리해야합니다. 어떤 주장도 받아들이지 않습니다. 여기서 문제는 모든 것이 세계적이라는 것입니다. 나는 이런 유형의 언어를 읽었지만 대부분의 책은 "좋아요, 우리는 말과 마차를 사용하는 데 사용하지만 지금은 …
40 scope 

7
메이저 / 마이너 / 패치 버전 번호는 언제 변경합니까?
가능한 중복 : 어떤 "버전 명명 규칙"을 사용하십니까? 출시 직전 또는 직후에 주 / 부 / 패치 버전 번호를 변경합니까? 예 : 방금 전 세계에 1.0.0을 출시했습니다 (huzzah!). 하지만 너무 축하하지 마십시오. 6 주 안에 1.1.0이 나옵니다! 따라서 버그를 수정하고 새 빌드를 수행하십시오. 그 빌드는 무엇입니까? 1.1.0.0 또는 1.0.0.xxxy (여기서 …
40 versioning 

3
파이썬의“PEP-302 새로운 수입 훅”경험
저는 Ruby (CRuby) 개발자 중 한 명입니다. 우리는 Ruby 2.0 릴리스 (2012/2 월 릴리스 예정)를 작업 중입니다. Python에는 "PEP302 : 새로운 가져 오기 후크" (2003)가 있습니다. 이 PEP는 Python 가져 오기 메커니즘의 더 나은 사용자 정의를 제공하는 새로운 가져 오기 후크 세트를 추가하도록 제안합니다. 현재 가져 오기 후크 와는 달리 …

12
다른 팀원 코드를 다시 작성하지 않은 규칙
우리는 집단 코드 소유권을 실천하고 있습니다. 이것은 모든 개발자가 코드를 변경하여 기능을 추가하거나, 리팩터링, 버그를 수정하거나, 디자인을 개선 할 수 있다는 것을 이해합니다. 그러나 여전히 팀에있는 개발자의 코드를 완전히 다시 작성하는 것은 어떻습니까? 먼저 물어봐야합니까? 모범 사례는 무엇입니까?

1
GitHub에 대한 요청없이 분기 된 저장소에서 변경 사항을 가져 오시겠습니까?
저는 소셜 코딩 커뮤니티에 익숙하지 않으며이 상황에서 올바르게 진행하는 방법을 모릅니다. 몇 주 전에 GitHub 리포지토리를 만들었습니다 . 누군가 프로젝트 를 시작했고 할 일에 약간의 변화가있었습니다. 누군가 내 프로젝트를 포크하고 추가하는 데 시간이 걸렸습니다. 변경 사항을 내 코드로 가져 오려고하지만 몇 가지 우려 사항이 있습니다. 1) 포크 리포지토리에서 git을 통해 …
40 git  github  etiquette 

6
라이센스가없는 오픈 소스 코드… 포크 할 수 있습니까?
몇 년 전에 누군가 정말 놀랍고 인기있는 스크립트를 만들었습니다. 그러나 그들은 오랫동안 업데이트되지 않았으므로 이제는 더 이상 작업하지 않습니다 (대상 플랫폼이 업데이트되었으며 일부 변경이 필요합니다). 그는 어떤 라이센스 하에서도 공개하지 않았습니다. 버그를 수정하고 (현재 많은 대상 사용자가 사용할 수 없음) GitHub에 공개 도메인 스타일 OSS 라이센스로 게시하고 싶습니다. 법적인 영향이 …

4
REST-Accept 헤더와 확장을 통한 컨텐츠 협상 간의 절충
RESTful API 설계를 진행하고 있습니다. 주어진 리소스에 대해 JSON과 XML을 반환하려고합니다. 나는 우리가 다음과 같이 할 것이라고 생각했습니다. GET /api/something?param1=value1 Accept: application/xml (or application/json) 그러나 누군가 다음과 같이 확장 기능을 사용하여 던졌습니다. GET /api/something.xml?parm1=value1 (or /api/something.json?param1=value1) 이러한 접근 방식의 장단점은 무엇입니까? 확장명이 지정되지 않은 경우 accept 헤더를 사용하는 것이 가장 …

8
현대 OO 언어가 C ++의 어레이 저장소 성능과 경쟁 할 수 있습니까?
방금 내가 친숙한 모든 현대 OO 프로그래밍 언어 (기본적으로 Java, C # 및 D)가 공변량 배열을 허용한다는 것을 알았습니다. 즉, 문자열 배열은 객체 배열입니다. Object[] arr = new String[2]; // Java, C# and D allow this 공변량 배열은 정적 유형 시스템의 구멍입니다. 컴파일 타임에 감지 할 수없는 유형 오류가 가능하므로 …
40 c#  java  c++  d 

9
가장 현대적인 프로그래밍 언어에서 계약에 의한 Design에 대한 제한된 지원이 필요한 이유는 무엇입니까?
최근에 Design by Contract (DbC)를 발견했으며 코드를 작성하는 데 매우 흥미로운 방법이라고 생각합니다. 무엇보다도 다음을 제공하는 것 같습니다. 더 나은 문서. 계약서가 문서이므로 계약서가 구식이 될 수 없습니다. 또한 계약은 루틴의 기능을 정확하게 지정하므로 재사용을 지원하는 데 도움이됩니다. 더 간단한 디버깅. 계약이 실패하는 순간 프로그램 실행이 중지되므로 오류가 전파 될 …

9
“예제로 인도”가 효과가 없을 때 무엇을 할 수 있습니까? [닫은]
저는 거의 2 년 동안 대기업 (8000 명 이상의 직원)을 위해 일해 왔으며 공부 과정을 마친 직후에 고용되었습니다. 여기의 모든 사람들은 종종 매우 나쁘게 설계되고 해킹으로 가득 찬 레거시 코드를 매일 처리해야합니다. 처음에, 나는 일을 너무 비판하지 않으려 고 애썼다. 그러나 상황은 상황에 따라 생활하기가 매우 어려워졌으며 우리가 사용하는 도구를 …

16
직관적 인 동시 프로그래밍 추상화 기능이있는 최신 프로그래밍 언어
시스템 프로그래밍이 아닌 응용 프로그램 / 사용자 수준에 중점을 둔 동시 프로그래밍 학습에 관심이 있습니다. 동시 응용 프로그램 작성을위한 직관적 인 추상화를 제공하는 현대적인 고급 프로그래밍 언어를 찾고 있습니다. 생산성을 높이고 동시 프로그래밍의 복잡성을 숨기는 언어에 집중하고 싶습니다. IMHO 내 생산성이 떨어지고 프로그래밍 모델이 직관적이지 않기 때문에 C, C ++ …

14
프로그래밍이나 컴퓨터 과학은 일반적으로 알고리즘에 관한 것입니까?
대학원생으로서 Google, Facebook, Microsoft 등의 유명한 회사에서 테스트 및 인터뷰에 알고리즘 질문을하는 것이 점점 더 일반적입니다. 내가 신청 한 몇몇 신생 기업은 알고리즘에 대해서도 물었다. 해당 회사의 소프트웨어 개발자에게 알고리즘 유창성이 가장 중요한지 궁금합니다. 대답이 '예'인 경우 알고리즘에 대해 효과적으로 배우고 연습 할 수있는 가장 좋은 방법이나 리소스는 무엇입니까? 대부분의 …

12
고용주에게 자신을 매각하지 않고 추가 개발자를 고용하도록 설득하려면 어떻게해야합니까? [닫은]
저는 소규모 회사의 유일한 개발자입니다. 나는 여기에서 천천히 개발을 시작했다. ~ 4 개월 전까지 내 시간의 50-75 %가 운영에 소비되었습니다. 이제 내 시간의 50-75 %가 개발에 사용되고 나머지는 운영과 다양한 IT 부서로 나뉩니다. 나는 정기적으로 일주일에 50 시간 이상 일하게됩니다. 나는 비즈니스의 대부분이 의존하는 다소 잘못 작성된 응용 프로그램 (이전에 …

16
자신을 연로 한 팀원이 SVN 개념의 기초를 배우도록 설득하는 방법은 무엇입니까? [닫은]
배경 지식으로 시작하기 위해, 나는 이번 여름에 새로운 개발자 직책을 맡았고 팀에서 가장 새로운 멤버가되었지만 벨트 아래에서 가장 많은 경험을 쌓았습니다. 지금까지 낮은 채택 비용 (시간과 노력의 측면에서)으로 인해 충분히 쉽게 위생 계획을 추진할 수있었습니다. 그러나 상황이 조금 높아졌습니다. 경험이 있지만 팀원 중 한 명이 SVN을 실제로 이해하지 못합니다. 당연히 …
40 learning 

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