소프트웨어 공학

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

1
Code Complete 작성자는 글로벌 데이터 숨기기에 대해 무엇을 의미합니까?
Code Complete 2nd Edition의 섹션 6.4에는 전역 데이터 숨기기에 대한 단락이 있습니다. 제가 특히 관심을 갖는 것은 McConnell (책의 저자)이 글로벌 데이터를 숨길 때 얻을 수있는 이점의 예를 제공한다는 것입니다. 이해할 수없는 한 가지 예가 있습니다. 영어 버전의 책이 없으므로 텍스트를 번역하려고합니다. 글로벌 데이터 숨기기 (...) 프로그램을 수정하지 않고 데이터의 …

3
왜 증분 포인터?
나는 최근에 C ++을 배우기 시작했으며, 대부분의 사람들이 (내가 읽은 것에 따르면) 포인터로 고심하고 있습니다. 전통적인 의미가 아니기 때문에 나는 그것이 무엇인지, 왜 사용되는지, 어떻게 유용 할 수 있는지 이해하지만, 포인터를 증가시키는 것이 어떻게 유용한 지 이해할 수 없습니다. 누구든지 포인터를 증가시키는 방법에 대한 설명을 제공 할 수 있습니까 유용한 …
25 c++  c  pointers 

1
제공자에게 github에서 풀 요청을 리베이스하도록 요청하는 것이 맞습니까?
나는 상대적으로 인기있는 github 저장소를 유지합니다. 끌어 오기 요청을 병합하는 것이 좋을 때 나는 일반적으로 저자가 병합하기 전에 단일 커밋으로 리베이스하도록 요청합니다 (특히 여러 개의 작은 편집이 있었을 때). 이것은 좋은 자식 연습입니까? 이것이 허용되는 / 표준 GitHub 에티켓입니까? 따라서 몇 가지 이점이 있습니다. 커밋 로그에서 깨끗한 커밋 기록을 얻습니다. …
25 github  etiquette 

4
순수한 기능을 비공개로 만들어야 할 이유가 있습니까?
나는 동료와 약간의 토론이있었습니다. 간단히 말해서 순수한 함수를 숨기거나 캡슐화 할만한 이유가 있습니까? "순수"란 위키피디아 정의를 의미합니다 . 항상 동일한 입력에서 동일한 결과를 반환합니다. (이 의미에서 가치 의미론이 Foo Create(){ return new Foo(); }없다면 이 논의 는 불완전한 것으로 간주됩니다 Foo.) 변경 가능한 상태 (로컬 변수 제외) 또는 I / …


3
네이티브 머신 코드에 파이썬 컴파일러가없는 이유는 무엇입니까?
내가 이해하는 것처럼 컴파일 된 언어와 파이썬의 속도 차이의 원인은 첫 번째 코드가 네이티브 컴퓨터의 코드로 코드를 컴파일하는 반면 파이썬은 파이썬 바이트 코드로 컴파일하여 PVM에서 해석하기 때문입니다. 나는이 방법으로 파이썬 코드가 여러 운영 체제 (적어도 대부분의 경우)에서 사용될 수 있음을 알지만, 왜 기존 컴파일러와 동일한 방식으로 컴파일되는 파이썬을위한 추가 (선택적) …

2
웹앱을 설립 한 사람이 확장 할 수있는 기술 전문 지식이 부족한 것이 일반적입니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 트위터와 같은 것을 볼 때, 아이디어가 처음에는 구현하기가 너무 간단하여 창립자가 기술적으로 재능이 없어야 할 것 같습니다. …
25 startup 

7
기본 키가 비즈니스 도메인의 일부가 아님을 해결
거의 모든 상황에서 기본 키는 비즈니스 도메인의 일부가 아닙니다. 물론, UserName사용자 또는 OrderNumber주문에 대해 고유 한 인덱스를 가진 중요한 사용자 대면 객체가 있을 수 있지만 대부분의 경우 도메인 객체를 단일 값 또는 값 세트로 누구에게나 명백하게 식별 할 필요 가 없습니다 . 관리 사용자. 이러한 예외적 인 경우에도, 특히 GUID …

1
Reactive Extensions를 사용한 비동기 네트워크 프로그래밍
이 질문은 Software Engineering Stack Exchange에서 답변을 얻을 수 있기 때문에 Code Review Stack Exchange에서 마이그레이션 되었습니다. 5 년 전에 이주했습니다 . 수행 한 후 일부 (더 또는 덜) "낮은 수준"을 비동기 socket(이벤트 기반 비동기 패턴에 년 전 프로그램 (EAP) 패션) 최근에 "최대"이동 TcpListener(비동기 프로그래밍 모델 (APM) ) 다음 async/await(태스크 …
25 c#  .net  tcp 

12
'시도를 잡아라… 마지막으로'구성의 '마지막'부분이 필요한가?
C ++ 및 초기 버전의 PHP와 같은 일부 언어 finally는 try ... catch ... finally구문 의 일부를 지원하지 않습니다 . 가 finally필요 이제까지? 코드가 항상 실행되기 때문에 절 없이 블록 뒤에 해당 코드를 배치하지 않는 이유는 무엇입니까? 왜 하나를 사용합니까? try ... catchfinally(나는 finally'catch'를 버릴 이유가 아닌 이유를 사용하거나 사용하지 …

5
공유 코딩 패러다임을 사용하는 관점에서 언어 Y로 프로그램을 작성하는 것처럼 언어 X로 무언가를 작성하는 것이 왜 나쁜가?
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 얼마 전에 나는 C ++로 작성된 것에 대해 SO에 대한 질문을했지만 현재 문제에 대한 답변을 얻는 대신 WIP …

4
Git Stash를 워크 플로우로 사용하는 것은 반 패턴입니까?
최근에 나와 팀에서 Git을 사용하는 방법과 워크 플로 작동 방식을 살펴 보았습니다. 현재 잘 작동하는 기능 분기 워크 플로를 사용하고 있습니다. 또한 팀의 일부 개인이 git stash 기반 워크 플로를 사용하는 것을 보았습니다 . 워크 플로는 다음과 같습니다. 메인 지점에서 작업 (예 master:) 당신이 갈 때 커밋 변경 사항을 가져 …

11
C에서 void가 왜 void가 아닙니까?
Java 및 C #과 같은 강력한 형식의 언어에서 void(또는 Void) 메서드의 반환 형식은 다음을 의미합니다. 이 메소드는 아무것도 반환하지 않습니다. 아무것도. 돌아올 수 없습니다. 이 방법으로는 아무것도받지 못할 것입니다. 실제로 이상한 점은 C에서 void리턴 유형 또는 메소드 매개 변수 유형의 의미입니다. 정말 무엇이든 될 수 있습니다. 찾으려면 소스 코드를 읽어야합니다. …
25 c  pointers 

10
우리는 생성자없이 살 수 있습니까?
어떤 이유로 든 모든 객체가 $ obj = CLASS :: getInstance () 방식으로 생성되었다고 가정 해 봅시다. 그런 다음 setter를 사용하여 종속성을 주입하고 $ obj-> initInstance ()를 사용하여 초기화 시작을 수행합니다. 생성자를 전혀 사용하지 않으면 해결할 수없는 실제 문제 나 상황이 있습니까? 추신 :이 방법으로 객체를 생성하는 이유는 일부 규칙에 …

4
C ++ Linkage C 이외의 언어?
C ++ 언어를 사용하면 하나의 소스 파일에서 C ++와 C를 혼합 할 수 있습니다. 예를 들어 extern "C" { struct bar { /* ... */ } } C ++ 또는 C 이외의 다른 "링크 언어"를 지원 한 적이 있습니까? 예 extern "Pascal"또는extern "Haskell"

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