소프트웨어 공학

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

4
데이터 정렬시 테스트가 너무 번거 롭습니까?
나는 파서를 작성하고 있으며 그 일환으로 Expander하나의 복잡한 문장을 여러 개의 간단한 문장으로 "확장" 하는 클래스가 있습니다. 예를 들어 다음을 확장합니다. x = 2 + 3 * a 으로: tmp1 = 3 * a x = 2 + tmp1 이제이 클래스를 테스트하는 방법, 특히 테스트를 정렬하는 방법에 대해 생각하고 있습니다. …

4
C에서 변수의 데이터 유형을 언급해야하는 이유
일반적으로 C에서는 변수 선언의 데이터 유형을 컴퓨터에 알려야합니다. 예를 들어 다음 프로그램에서 두 개의 부동 소수점 숫자 X와 Y의 합을 인쇄하려고합니다. #include<stdio.h> main() { float X=5.2; float Y=5.1; float Z; Z=Y+X; printf("%f",Z); } 컴파일러에게 변수 X의 유형을 알려 주어야했습니다. 컴파일러 X가 자체 유형을 결정할 수 없습니까 ? 예, 이렇게하면 가능합니다. …

2
생성자에서 [Pure]를 언제 사용합니까?
.NET의 코드 계약에 대해 배우고 있으며 순수한 생성자의 아이디어를 이해하려고합니다. 코드 계약의 문서 상태 : 계약 내에서 호출되는 모든 메소드는 순수해야합니다. 즉, 기존 상태를 업데이트해서는 안됩니다. 순수한 메소드는 순수한 메소드에 입력 한 후 작성된 오브젝트를 수정할 수 있습니다. 그리고 PureAttribute설명서는 다음 과 같이 말합니다. 유형 또는 메소드가 순수함을 나타냅니다. 즉, …

4
"클래스 대신 맵을 사용하여 데이터 표시"-Rich Hickey
에서 리치 키스 마크에 의해이 비디오 는 Clojure의 창조자, 그는 자바에서 수행으로, 대신 그것을 표현하는 클래스를 사용하는 데이터를 표현하기 위해지도를 사용하여 조언한다. API 사용자가 입력 맵이 단순히 맵으로 표시되는 경우 입력 키가 무엇인지 어떻게 알 수 있는지 더 잘 이해할 수 없습니다. 예 : PersonAPI { Person addPerson(Person obj); Map<String, …
19 java  design  class  clojure  map 

8
프로그래머가 때때로 자신의 코드에 대해 100 % 명확성을 갖지 않는 것이 정상입니까? [닫은]
휴무 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 나는 전문 프로그래머가 아니기 때문에 이것이 이유 일 수도 있지만, 최근에 만든 체스 게임과 같은 복잡한 코드를 만들 …

5
"#define me (* this)"는 것이 좋은 생각입니까?
이 매크로는 일부 글로벌 헤더에서 또는 컴파일러 명령 행 매개 변수로 정의 할 수 있습니다. #define me (*this) 그리고 일부 사용 예 : some_header.h : inline void Update() { /* ... */ } main.cpp : #include "some_header.h" class A { public: void SetX(int x) { me.x = x; me.Update(); } …
19 c++ 


1
안전한 병렬 처리를 구현하기 위해 고유성 유형 사용
나는 한동안 순수한 기능 언어로 된 모나드에 대한 대안으로 고유성 유형에 관심이 있었다. 불행히도 이것은 CS 연구의 난해한 영역이며 고유 유형을 가진 프로그래밍에 관한 온라인 리소스는 거의 없습니다. 참조 ( "상자") 및 배열과 같은 상태 저장 데이터 구조를 구현하는 데 고유성 유형을 사용하는 방법은 분명하지만 다른 일반적인 상태 저장 데이터 …

2
C #에 new () 제약 조건이 있지만 다른 유사한 제약 조건이없는 이유는 무엇입니까?
C # 제네릭에서는 형식 매개 변수 T가 기본 생성자를 갖도록 제약 조건을 선언 할 수 있습니다 where T : new(). 그러나 이와 같은 다른 제약 조건은 유효하지 않습니다 ( new(string)예 : 등). 언어 설계 및 / 또는 구현 관점에서 그 이유는 무엇입니까? 생성자가 작동하는 방식이나 유형 시스템이 구현되는 방식으로 이것을 …

1
GitHub에서 프로젝트에 별표를 표시 한 사용자를 더 효과적으로 참여시키는 방법은 무엇입니까?
이 게시물을 개선하고 싶습니까? 인용과 답변이 올바른 이유에 대한 설명을 포함하여이 질문에 대한 자세한 답변을 제공하십시오. 세부 사항이없는 답변은 편집하거나 삭제할 수 있습니다. 나는 최근에 Hebel 이라는 프로젝트 를 작성하여 GitHub에서 작업했습니다. Python 및 Nvidia CUDA로 작성된 GPU 가속 딥 러닝을 위한 프레임 워크입니다 . Google+에 게시 한 후 곧 …


5
Turing 컴플리트 프로세서를 구축하는 데 필요한 최소 명령어 세트는 무엇입니까
프로세서가 명령을 처리하는 방법에 대한 일반적인 아이디어가 있지만 대부분의 고급 언어로 작업하는 데 시간을 보냅니다. 아이언에 더 가까이 다가가는 사람은 귀중한 통찰력을 제공 할 수 있습니다. 프로그래밍 언어가 기본적으로 프로세서의 명령어 세트에 대한 매우 높은 수준의 추상화라고 가정하면 튜링 완료 기계를 만드는 데 필요한 가장 기본적인 명령어 세트는 무엇입니까? 참고 …


1
다른 사람의 풀 요청 편집을위한 에티켓
누군가 GitHub에 하나의 커밋으로 풀 요청을 보낸 저장소를 소유하고 있습니다. 나는 그의 솔루션을 부분적으로 만 구현하고 싶고 사용자가 만든 코드 변경의 약 절반을 사용합니다. 이 상황에서 어떻게해야합니까? 그의 버전의 브랜치를 만들고, 돌아가서 원래 버전에서 보존하려는 "오래된"코드를 복사하여 두 번째 커밋에 붙여 넣습니다. 이것은 커밋 사이의 차이가 실제보다 커 보이게하고 같은 …

4
메모리 누수를 해결하는 것이 얼마나 중요합니까?
Valgring은 일부 GTK + 프로그램이 메모리 누수를 발견했습니다. 누출을 해결하는 것이 얼마나 중요합니까? 내 말은, 종종 그 프로그램들은 아주 잘 작동하지만, 다른 한편으로, 누수 코드의 일부를 다른 프로그램에 복사하고 싶을 때 결코 확신 할 수 없습니다. 그리고 GTK + 프로그램의 아이디어가 빨리 작동하여 누출이 있는지 확실하지 않습니다. 따라서 오픈 소스 …
19 c  memory 

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