소프트웨어 공학

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


11
C / C ++라는 용어 사용을 중단해야합니까?
나는 C와 C ++이 다른 언어라는 것을 이해하지만 C ++을 배우고있을 때 항상 C는 C ++의 하위 집합 이거나 C ++는 클래스가있는 C라고 들었습니다. 그리고 그것은 C ++ x0, C ++ 11 (또는 일반적으로 현대적인 C ++ 11/14/17)이 나타날 때까지 사실이었습니다. 실제로 (특히 임베디드 시스템에서 작업 할 때) C ++로 …
140 c++  c  terminology  c++11 

6
단일 참조를 가진 개인 메소드는 나쁜 스타일입니까?
일반적으로 개인 메서드를 사용하여 클래스의 여러 곳에서 재사용되는 기능을 캡슐화합니다. 그러나 때로는 큰 공개 방법을 사용하여 각기 개인 방법으로 작은 단계로 나눌 수 있습니다. 이렇게하면 공용 메서드가 더 짧아 지지만 메서드를 읽는 사람이 다른 개인용 메서드로 이동하면 가독성이 손상 될 것으로 걱정됩니다. 이것에 대한 합의가 있습니까? 긴 공용 메소드를 사용하거나 …

8
사람들이 자전거 흘림을 멈추게하려면 어떻게해야합니까 (사소한 일에 중점을 둡니다)?
나는 다른 팀들에게 새로운 코드베이스를 가르치는 임무를 맡았지만 계속해서 문제가 발생합니다. 실제로 사람들과 함께 코드를 살펴볼 때마다 전체 운동이 자전거 헛간 (사소한 문제에 불균형 한 가중치를 부여하는 조직 구성원) 운동으로 전환되기 전에는 멀지 않습니다 . 그들은 코드베이스를 알지 못하지만 코드베이스를 향상시키는 데 도움이 필요하다고 생각하기 때문에 이해할 수 있는 것에 …

11
단위 테스트가 너무 많습니까?
기존 응용 프로그램에 대한 단위 테스트 작성을 맡았습니다. 첫 번째 파일을 완성한 후 419 줄의 원본 코드에 대한 717 줄의 테스트 코드가 있습니다. 코드 범위를 늘리면이 비율을 관리하기 어려워 집니까? 단위 테스트에 대한 나의 이해는 모든 방법이 예상대로 작동하는지 클래스의 각 방법을 테스트하는 것이 었습니다. 그러나 풀 요청에서 기술 책임자는 …
139 unit-testing  tdd 

15
Java, Javascript 및 C #과 같은 메모리 관리 언어가 왜 'new'키워드를 유지 했습니까?
newJava, Javascript 및 C #과 같은 언어로 된 키워드는 클래스의 새 인스턴스를 만듭니다. 이 구문은 new힙에 클래스의 새 인스턴스를 할당하고 새 인스턴스에 대한 포인터를 반환하는 데 특히 사용되는 C ++에서 상속 된 것으로 보입니다 . C ++에서는 이것이 객체를 구성하는 유일한 방법은 아닙니다. new- 를 사용하지 않고 스택에 객체를 생성 …

14
단위 테스트를하지 않는 것이 적절한시기는 언제입니까?
저는 소규모 회사에서 솔로 개발자로 일하고 있습니다. 저는 회사에서 유일하게 개발자입니다. 정기적으로 작성하고 유지 관리하는 여러 개의 (상대적으로) 대규모 프로젝트가 있으며 그 중 어느 것도 프로젝트를 지원할 테스트가 없습니다. 새로운 프로젝트를 시작할 때 종종 TDD 방식을 시도해야하는지 궁금합니다. 좋은 생각처럼 들리지만 솔직히 관련된 추가 작업을 정당화 할 수는 없습니다. 나는 …
138 unit-testing  tdd 

7
검색이 RESTful 인터페이스에 어떻게 적합합니까?
RESTful 인터페이스를 설계 할 때 요청 유형의 의미는 설계에 필수적으로 간주됩니다. GET- 콜렉션 나열 또는 검색 요소 PUT- 컬렉션 또는 요소 교체 POST- 콜렉션 또는 요소 작성 삭제 -음, 음, 컬렉션 또는 요소 삭제 그러나 이것은 "검색"의 개념을 다루지 않는 것 같습니다. 예를 들어 구직 사이트를 지원하는 웹 서비스 제품군을 …

25
사람들이 일하지 않는 것이“정상”입니까?
대학을 졸업 한 후 1 년 조금 넘게 주니어 프로그래머로 채용되었습니다. 나는 다른 모든 프로그래머들보다 빨리 학위를 받았다는 것을 곧 알았다. 이것은 단순히 "일반적으로"시간을 낭비하지 않기 때문인 것 같습니다. 그러나 대부분의 다른 사람들은 천장을 쳐다보고, YouTube, Facebook 및 임의의 웹 사이트를 탐색하며 일반적으로 하루에 한 시간 안에하는 일을하는 것처럼 보입니다. …
137 productivity 

2
파이썬 파일 명명 규칙?
PEP-8 https://www.python.org/dev/peps/pep-0008/#package-and-module-names 의이 부분을 보았습니다. 이것이 모듈 / 클래스 / 패키지의 파일 이름을 나타내는 지 확실하지 않습니다. 각각에 대해 하나의 예가있는 경우 파일 이름은 모두 밑줄이있는 소문자 여야합니까? 또는 다른 것?

10
깊은 프로그래밍 지식 개발
때때로 Jon Skeet 및 Eric Lippert와 같은 사람들이 쉽게 대답 할 수있는 스택 오버 플로우의 에지 케이스 및 기타 이상한 점에 대한 질문을 보았습니다. 이 언어와 그 복잡한 것에 대한 깊은 지식을 보여줍니다 . 당신은 사용하기 위해 생각할 수도 foreach루프를 컬렉션이 구현해야하는 이상 반복된다 IEnumerable거나 IEnumerable<T>. 그러나 실제로는 이것이 요구 …
136 code-quality 

13
디자인 패턴이 눈에 띄는가?
저는 20 년 동안 사업을해온 수석 개발자 중 한 명과 토론을했습니다. 그는 온타리오에서 자신이 작성한 블로그로 유명합니다. 이상한 것은 그가 나에게 말한 것입니다. 그는 교과서에서 작성되었으므로 실제 세계를 설명하지 않기 때문에 악몽이되는 코드가 있다고 말했습니다. UI / 데이터베이스 / 데이터 레이어에 새 필드를 추가하는 데 2-3 시간이 걸리지 만 코드에서는 …

10
가비지 콜렉션을 강제 실행하는 것이 언제 좋은가?
그래서 거의 모든 단일 답변이 동일한 곳 에서 C # 가비지 수집기를 실행하는 것에 대한 질문 을 읽었 습니다 . 할 수는 있지만 매우 드문 경우를 제외하고는 안됩니다 . 슬프게도, 아무도 그러한 경우에 대해 자세히 설명하지 않습니다. 어떤 종류의 시나리오에서 실제로 가비지 수집을 강제하는 것이 좋거나 합리적인 아이디어인지 말해 줄 …

17
반환 값이없는 함수 / 메소드에서 NULL 또는 빈 값을 반환하는 것이 더 낫습니까?
나는 여기에 추천을 찾고 있습니다. 반환 값이 없거나 확인할 수없는 경우 NULL 또는 빈 값을 메서드에서 반환하는 것이 더 나은지 여부에 어려움을 겪고 있습니다. 다음 두 가지 방법을 예로 들어 보겠습니다. string ReverseString(string stringToReverse) // takes a string and reverses it. Person FindPerson(int personID) // finds a Person with a …

8
C ++는 D보다 어떤 기능을 수행합니까?
나는 최근에 D를 배우고 있으며 언어에 익숙해지기 시작했습니다. 나는 그것이 무엇을 제공하는지 알고, 아직 모든 것을 사용하는 방법을 모른다. 그리고 나는 D 관용구 등에 대해 많이 모른다. 그러나 나는 배우고있다. 나는 D를 좋아한다. 어떤 언어 로 C를 대대적으로 업데이트하고 훌륭하게 수행 하는 좋은 언어 이다. 그 기능들 중 어느 것도 …

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