소프트웨어 공학

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

6
왜 좋은 프로그래머가 닌자라고 불리는가? [닫은]
닌자 프로그래머는 어떻게 정의됩니까? 숙련 된 개발자라면이를 설명하는 더 좋은 방법이 없을까요? 닌자 (Ninja)는 자부심을 잃은 개발자를 끌어 들이기 위해 고안된 유치한 마케팅 전략처럼 들린다. 아니면 뭔가 빠졌습니까? 특히 나는 비교를 유효하게 만드는 프로그래머들 (차가움 계수 외에)에서 Ninja의 자질이 무엇인지 알고 싶습니까? 닌자 특성과 애자일 개발을 잘 비교할 수있는 이 …


30
종이에 코드를 인쇄하는 것이 일반적입니까? [닫은]
다음과 같은 이유로 코드 줄을 80 자 미만으로 유지하고 싶습니다. 가로 스크롤을 수행 할 필요가 없습니다. 이 제한을 초과하면 해당 라인이 너무 복잡하다는 것을 알고 있습니다. 과 종이에 잘 인쇄됩니다. 후자에 관해서는, 실제로 볼 코드를 인쇄하는 소수의 사람들 만 만났습니다 (나는 그들 중 하나입니다). 그렇다면 코드를 인쇄하는 것이 얼마나 일반적입니까?

8
.Net 서적이 스택 대 힙 메모리 할당에 대해 이야기하는 이유는 무엇입니까?
모든 .net 책은 값 유형과 참조 유형에 대해 이야기하고 각 유형이 저장되는 위치 (힙 또는 스택)를 가리키게합니다 (종종 부정확 한). 일반적으로 처음 몇 장에 있으며 중요한 사실로 제시됩니다. 인증 시험 에도 적용되는 것 같습니다 . 스택 대 힙이 (초보자) .Net 개발자에게 중요한 이유는 무엇입니까? 당신은 물건을 할당하고 작동합니다, 그렇죠?
36 .net 

10
switch 문이나 long if… else chain을 사용해야합니까?
종종 switch 문에 대해 들었을 때 긴 if ... else 체인을 대체하는 방법으로 사용되었습니다. 그러나 switch 문을 사용하면 더 많은 코드를 작성하여 if ... else로 작성하는 것 같습니다. 또한 모든 호출에 대한 모든 변수를 동일한 범위로 유지하는 것과 같은 다른 문제가 있습니다 . 다음은 일반적으로 쓰는 흐름을 나타내는 코드입니다 ( …

11
부정 행위없이 단위 테스트를 통과하기위한 최소 코드 작성!
TDD를 수행하고 단위 테스트를 작성할 때 테스트중인 "구현"코드의 첫 번째 반복을 작성할 때 "치트"하려는 충동에 어떻게 저항합니까? 예를 들어 : 숫자의 계승을 계산해야합니다. 다음과 같은 단위 테스트 (MSTest 사용)로 시작합니다. [TestClass] public class CalculateFactorialTests { [TestMethod] public void CalculateFactorial_5_input_returns_120() { // Arrange var myMath = new MyMath(); // Act long …
36 unit-testing  tdd 

8
Linq는 .NET 프로그래머에게 마음의 영향을 미칩니 까?
우리 중 많은 사람들 이 jQuery를 사용하여 쿼리 문자열을 검색하는 것과 같은 절대적으로 미친 일을하는 방법을 묻기 시작한 약 1 년 전에 jQuery 에서이 현상을보기 시작했습니다 . 많은 프로그래머들에게는 라이브러리 (jQuery)와 언어 (JavaScript) 의 차이점 이 사라지고, 필요하지 않은 곳에 부적절한 부적절한 코드가 작성됩니다. 어쩌면 그것은 단지 내 상상일지도 모르겠지만, …

3
통합 테스트는 모든 단위 테스트를 반복해야합니까?
내가 함수를 가지고 있다고 가정 해 봅시다 (루비로 작성되었지만 모든 사람이 이해할 수 있어야합니다). def am_I_old_enough?(name = 'filip') person = Person::API.new(name) if person.male? return person.age > 21 else return person.age > 18 end end 단위 테스트에서는 모든 시나리오를 포괄하는 4 가지 테스트를 작성합니다. 각각은 Person::API스텁 된 메소드 male?와 함께 조롱 …

3
스트림 요소를 수정하기 위해 peek ()를 사용하는 것이 반 패턴입니까?
내가 스트림을 가지고 있고 스트림 중간에 "풍부하게"하고 싶다고 가정 해 보겠습니다 peek(). 예를 들면 다음과 같습니다. streamOfThings.peek(this::thingMutator).forEach(this::someConsumer); 코드에서이 시점에서 Things를 변경하는 것이 올바른 동작이라고 가정합니다. 예를 들어, thingMutator메소드는 "lastProcessed"필드를 현재 시간으로 설정할 수 있습니다. 그러나 peek()대부분의 상황에서 "보이지만 만지지 마십시오"를 의미합니다. 스트림 요소 peek()를 음소거 하는 데 사용 하는 것이 …

3
병합 된 브랜치를 재사용하는 것이 좋습니다.
현재 응용 프로그램에 새 기능을 추가해야 할 때마다 새 분기를 만들었습니다. 기능이 완료되고 작동하면 마스터 브랜치와 병합합니다. 그러나 나중에이 기능 (예 : 개선 사항)을 업데이트해야 할 때 새 분기를 만드는 것이 더 낫거나 마스터로 이전 분기를 리베이스 해야하는 경우 업데이트를 수행 한 다음 다시 병합합니까? 예를 들어 Ruby on Rails …
36 git  branching 

5
코드 파일이 어느 시점 / 범위에 있습니까?
2-3k 라인 파일을 많이 찾고 있는데 실제로 그렇게 커야한다고 생각하지 않습니다. 소스 코드 파일을 "너무 큰"객관적으로 호출하기위한 좋은 기준은 무엇입니까? 소스 코드 파일에 있어야하는 최대 행 수와 같은 것이 있습니까?


5
소프트웨어 성공 / 실패 비율의 재 작성에 대한 실제 사례 연구가 있습니까?
나는 응용 프로그램의 재 작성이 나쁘고 프로그래머에 대한 사람들의 경험과 Joel Spolsky 가 주제에 대해 준비한 기사에 대한 여러 게시물을 보았지만 확실한 증거 나 사례 연구는 없습니다. Joel이 제시 한 두 가지 예와 여기에 다른 게시물이 있습니다. 나쁜 코드베이스로 무엇을하고 실제 연구를 기반으로 어떻게해야합니까? 예를 들어, 둘 다 오래된 레거시 …

1
btree와 rtree 인덱싱의 차이점은 무엇입니까?
MySQLWorkbench에서 디자인을 엔지니어링하기 전에 인덱스를 저장하는 방법을 선택할 수 있음을 알았습니다. 저장 유형은 다음과 같습니다. BTREE RTREE 해시시 이것을 조사하면서, 나는 거의 머리 위에있는 정보를 찾았으므로, 차이점이 무엇인지 그리고 / 또는 왜 서로 선택해야하는지에 대한 실용적인 정보를 찾고 있습니다. 또한 이전에는 스토리지 유형을 선택하지 않았으므로 MySQL이 기본 스토리지 유형 (BTREE?)을 …

8
모든 자식 커밋이 프로젝트를 작동 상태로 유지해야합니까?
일반적인 모범 사례가 무엇인지 궁금합니다. 프로젝트가 작업 상태 (올바로 빌드, 모든 테스트 통과 등)이거나 깨진 코드를 커밋하도록 git 커밋을 시행해야합니까? 예를 들어,이 요구 사항을 포기하면 커밋을 통해보다 유연해질 수 있습니다 (앱이 작동 상태가 아니더라도 논리적 청크로 사용). 그러나 당신이 그것을 시행한다면 나중에 주어진 커밋을 체리 선택 할 수있는 유연성을 얻습니다 …
36 git 

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