소프트웨어 공학

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

7
통합 테스트는 언제 작성해야합니까?
TDD 규칙에 따르면 생산 코드 전에 단위 테스트가 작성되지만 콘크리트 (모의가 아닌) 유선 객체 사이의 상호 작용을 수행하는 통합 테스트는 어떻습니까? "배선"을 테스트하기 위해 단위 테스트 전에 또는 생산 코드 후에 작성해야합니까? 수락 또는 기능 테스트가 아니라 하위 수준 통합 테스트에 대해 이야기하고 있습니다.

2
Git Flow와 같은 병합 전략은 실제로 반 패턴입니까?
우리 회사는 Git을 사용하고 있으며 독특한 분기 방식을 사용하고 있습니다. 작업은 마스터에서 수행되며 지점은 릴리스를 위해 예약됩니다. 반복에서 수행 된 모든 작업이 지점으로 들어가는 한 제대로 작동하지만 중요한 생산 문제가 발생하면 작업이 두 지점 모두에서 이루어 지도록해야합니다. 최근에, 우리는 그 지점들과 함께 "재미"를 가지고 있습니다. 관리상의 골칫거리로 모든 작업이 모든 …

8
아름다운 코드는 무엇입니까? [닫은]
나는 종종 개발자들이 아름다운 코드를 작성해야한다는 것을 읽지 만 초보자 인 경우 아름다운 코드가 무엇인지 어떻게 인식하지 못하는가? 중요한 질문은 : 아름다운 코드를 작성하는 방법과 코드 품질을 향상시키기위한 실용적인 습관은 무엇입니까? , 내가 작성한 코드를 아름답게 만들기 위해 무엇을 신경 써야합니까?

6
"클라우드 컴퓨팅"은 "클라이언트 서버"와 어떻게 다릅니 까?
그는 새로운 "클라우드 컴퓨팅"회사의 CEO가 오늘날 금융 TV 프로그램에서 자신의 회사를 설명하는 것을 보면서 "클라우드 컴퓨팅은 구식 클라이언트 서버 컴퓨팅보다 우수하다"고 말했다. 이제 혼란 스러워요. 누군가 클라이언트 서버와 달리 "클라우드 컴퓨팅"의 의미를 설명해 주시겠습니까? 내가 이해하는 한, 클라우드 컴퓨팅은 실제 하드웨어를 소유하거나 유지 관리하지 않는 네트워크 서비스 모델에 가깝습니다. "클라우드"는 …

2
프로그램의 디자인에 덴 타셔 널 시멘틱스 적용
저는 DS ( denotational semantics ) 에 대해 조금 읽었 으며 유형과 기능이 수학에 강력하고 명확하게 매핑되는 컴퓨터 프로그램을 설계하는 과정에 매우 흥미가 있습니다. DS를 기반으로 한 프로그램 설계에 대해 자세히 설명하는 자료가 있습니까? 나는 그 주제에 대한 몇 가지 피상적 치료를 보았다. 나는 Haskell, Scala, Common Lisp 및 약간의 …
30 scala  haskell  scheme 

1
Java 8의 형식 유추
Java 8에서 새로운 람다 표기법 (예 : 이 기사 참조 )을 도입하려면 일종의 유형 유추가 필요합니까? 그렇다면 새로운 유형의 시스템이 Java 언어 전체에 어떤 영향을 미칩니 까?

3
의미있는 오픈 소스 기고자를 다루는 방법?
프로그래머가 귀하에게 연락하여 프로젝트에 참여하도록 요청하면 어떻게 처리합니까? 이 녀석이 좋은지 몰라요 아마도 그는 자신의 가치보다 더 어려움을 겪을 것입니다. 그는 그의 이름을 kudos를 위해 성공적인 프로젝트에 첨부하려고 시도했을 것입니다. 그는 실제로 원하지 않는 방향으로 프로젝트를 진행하려고 시도 할 수 있으며 추가 복잡성에 가치가 없다고 생각되는 기능을 추가합니다. 또는 그는 …

6
운전자와 관찰자가 기술 수준과 경험이 다른 경우 페어 프로그래밍
페어 프로그래밍은 두 명의 프로그래머가 한 워크 스테이션에서 함께 작동하는 민첩한 소프트웨어 개발 기술이라는 것을 알고 있습니다. 드라이버는 코드를 작성하는 반면 다른 하나는 관찰자가 입력 한대로 각 코드 행을 검토합니다. 그러나 나는이 경우에도 전략이 여전히 효과가 있는지 궁금합니다. 예를 들어 프로그래밍 기술 수준이 매우 다른 경우 한 사람이 문제 영역에서 …

7
상속 된 메소드를 테스트해야합니까?
기본 클래스 Employee 에서 파생 된 클래스 Manager 가 있고 Employee 에 Manager 가 상속 한 getEmail () 메소드가 있다고 가정하십시오 . 관리자의 getEmail () 메소드 의 동작이 실제로 직원의 동작과 동일한 지 테스트해야합니까 ? 이러한 테스트가 작성 될 때의 동작은 동일하지만, 앞으로 어느 시점에서 누군가이 방법을 무시하고 동작을 변경하여 …

4
버그를 재현하기위한 하드웨어 설정이 어렵거나 불가능한 경우 새 코드를 효율적으로 문제 해결 또는 테스트하는 방법은 무엇입니까?
저는 중간 규모의 회사 (150 명 직원, ~ 10 명 규모의 엔지니어링 팀)에서 일하며 대부분의 프로젝트에는 반자동 테스트 응용을 위해 실험실 장비 (오실로스코프, 광학 스펙트럼 분석기 등)와의 인터페이스가 포함됩니다. 더 이상 하드웨어 설정을 사용할 수 없거나 더 이상 사용할 수 없기 때문에 새 코드를 효율적으로 문제 해결하거나 테스트 할 수없는 …

3
여러 하위 프로젝트에서 프로젝트를 분리하는 경우
작업중 인 프로젝트를 하나의 저장소가 아닌 두 개의 저장소로 나누는 것이 타당한 지 알고 싶습니다. 내가 말할 수있는 것에서 : 프론트 엔드는 html + js로 작성됩니다 .net의 백엔드 백엔드는 프론트 엔드에 의존하지 않으며 프론트 엔드는 백엔드에 의존하지 않습니다 프론트 엔드는 백엔드에서 구현 된 편안한 API를 사용합니다. 프런트 엔드는 모든 정적 …

14
목록을 사용할 수있을 때 배열을 사용해야하는 이유가 있습니까? [닫은]
이처럼 보인다 List<T>배열이 더 많은 일을 할 수있는 모든 것을 할 수있는 C #에서, 그냥 배열로 메모리와 성능을 효율적으로도 보인다. 그렇다면 왜 배열을 사용하고 싶습니까? API 또는 다른 외부 제약 조건 (예 : Main 함수)이 배열을 사용해야하는 경우에 대해서는 분명히 묻지 않습니다 ... 내 코드에서 새로운 데이터 구조를 만드는 것에 …
30 c#  data-types 

11
“4 차원”은 배열과 어떻게 작동합니까?
추상: 따라서 이해하기는 매우 어렵지만 (일반적으로) 물리적으로 작업하는 3 가지 차원이 있습니다. 첫 번째는 선으로 표시됩니다. 두 번째는 사각형으로 표시됩니다. 세 번째는 큐브로 표시됩니다. 우리가 4 위에 도달 할 때까지 충분히 간단합니다. 무슨 뜻인지 알면 3D 공간에 그리는 것이 다소 어렵습니다. 어떤 사람들은 시간과 관련 이 있다고 말합니다 . 질문: …
30 theory  array 

2
가짜 웨이크 업 설명은 수정 할 가치가없는 버그처럼 들립니다. 맞습니까?
Spurious Wakeups 에 관한 Wikipedia 기사에 따르면 "스레드가 조건 변수를 신호하지 않더라도 스레드는 대기 상태에서 해제 될 수 있습니다." 이 '기능'에 대해 알고 있었지만 같은 기사에서 실제로 그 원인을 알 수 없었습니다. "의심스러운 깨우기는 이상하게 들릴지 모르지만 일부 다중 프로세서 시스템에서는 조건 깨우기를 완전히 예측할 수있게하면 모든 조건 변수 작업이 …

2
파이썬 팩토리 함수 모범 사례
foo.py클래스가 들어있는 파일이 있다고 가정 해보십시오 Foo. class Foo(object): def __init__(self, data): ... 이제 Foo원시 소스 데이터에서 특정 방식으로 객체 를 생성하는 함수를 추가하고 싶습니다 . Foo의 정적 메소드 또는 다른 별도의 함수로 사용해야합니까? class Foo(object): def __init__(self, data): ... # option 1: @staticmethod def fromSourceData(sourceData): return Foo(processData(sourceData)) # option …
30 design  python 

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