소프트웨어 공학

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

10
“항상 변수를 초기화”하지 않아도 중요한 버그가 숨겨지지 않습니까?
C ++ 핵심 지침에는 ES.20 : 항상 객체 초기화 규칙이 있습니다. 사용 된 설정 오류 및 관련 정의되지 않은 동작을 피하십시오. 복잡한 초기화 이해 문제를 피하십시오. 리팩토링을 단순화하십시오. 그러나이 규칙은 버그를 찾는 데 도움이되지 않으며 버그 만 숨 깁니다. 프로그램에 초기화되지 않은 변수를 사용하는 실행 경로가 있다고 가정합니다. 버그입니다. 정의되지 …
34 c++  c 

1
인수를 반환하는 함수의 이름?
아무것도하지 않고 인수를 취하지 않고 아무것도 반환하지 않는 함수를 전통적으로 noop, 또는 no-op 라고합니다 . noop의 예는 다음과 같습니다. function noop(){} http://en.wikipedia.org/wiki/NOP 그렇다면 인수를 반환하고 다른 작업을 수행하지 않는 함수의 이름이 있습니까? 이런 종류의 기능의 예 : function(a){return a}
34 functions 

6
두 개의 대기열을 사용하여 스택을 구현하는 요점은 무엇입니까?
다음과 같은 숙제가 있습니다. 두 개의 큐를 사용하여 스택 메소드 push (x) 및 pop ()을 구현하십시오. 이것은 나에게 이상하게 보입니다. 스택 은 (LIFO) 대기열입니다 구현하기 위해 두 개의 대기열이 필요한 이유를 모르겠습니다. 나는 주변을 검색했다 : GeeksForGeeks 스택 오버플로 몇 가지 해결책을 찾았습니다. 이것이 내가 끝낸 것입니다. public class Stack<T> …
34 java  stack 

8
Object.finalize ()를 재정의하는 것이 실제로 좋지 않습니까?
재정의에 대한 주요 두 가지 주장 Object.finalize()은 다음과 같습니다. 언제 호출되는지 결정할 수 없습니다. 전혀 호출되지 않을 수 있습니다. 내가 이것을 올바르게 이해한다면, 나는 그것이 Object.finalize()그렇게 미워할만한 충분한 이유라고 생각하지 않습니다 . 객체를 할당 해제하기위한 적절한 시간이 개발자가 아닌시기를 결정하는 것은 VM 구현과 GC에 달려 있습니다. 언제 Object.finalize()부름을받는 것이 중요 …

2
명명 규칙 DAL, BAL 및 UI 계층 [닫기]
다음 레이어로 일반적인 웹 응용 프로그램을 개발 중입니다. UI 레이어 (MVC) 비즈니스 로직 계층 (BAL) 데이터 액세스 계층 (DAL) 각 계층에는 BAL 및 DAL을 포함하여 자체 DTO 객체가 있습니다. 이것에 관한 나의 질문은 다음과 같습니다 DAL이 반환 한 DTO는 BAL에서 해당 DTO로 변환되어 UI 계층으로 전송됩니다. 경우에 따라 DTO 개체의 …
34 c#  design  naming 

8
왜 개발자들이 리눅스에서 설치 마법사를 만들지 않습니까? [닫은]
게으름이나 그와 비슷한 것이 아니라고 확신하지만 주로 소비자 용 앱을 주로 사용하는 개발자가 다음 단계로 진행되는 설치 마법사를 만들지 않는 이유를 이해하지 못합니다. 동일한 앱에는 일반적으로 Windows 및 Mac OS 용 설치 프로그램이 있으므로 Linux가 아닌 이유는 무엇입니까? 이 추세에 대한 기술적 이유가 있습니까? 아니면 그냥 관습입니까? 편집 (23-09-2014) :이 …

3
Forking GPL project : 새 포크에 대한 모든 권한을 가지고 있거나 원래 소유자와의 종속성을 유지하고 있습니까?
GPLv2 에 따라 라이센스가 부여 된 소규모 프로젝트에 대한 포크 작성을 고려 중이며 다양한 사이트 및 포럼에 대한 연구에서 대답하지 못한 매우 구체적인 질문이 있습니다. 코드를 포크 할 때와 동일한 라이센스 (GPL)로 새 프로젝트를 릴리스해야하지만 이중 라이센스 (상업용 라이센스 중 하나)로 릴리스하기로 결정할 수도 있습니까? 프로젝트를 포크 할 때 전체 …
34 gpl 

6
표현력은 구체적으로 무엇을 의미합니까?
표현력 은 Wikipedia에 의해 다음과 같이 정의됩니다. .. 그 언어로 표현되고 전달 될 수있는 폭 넓은 아이디어. "아이디어" 는 기계와 통신 할 수있는 것들 (작업, 구조, 알고리즘 등) 을 나타 냅 니까? 아니면 다른 사람에게 언어로 포착되고 전달 될 수있는 "인간"개념을 가리키는가? 표현력은 어떻게 평가되고 측정됩니까? 예를 들어, JavaScript와 같은 …

6
일부 함수형 프로그래밍 언어는 함수 적용을위한 공간을 사용하는 이유는 무엇입니까?
함수형 프로그래밍을 위해 일부 언어를 살펴본 결과, 일부 fp 언어가 함수 응용 프로그램 (및 정의)을 위해 하나 이상의 공백 문자를 사용하는 이유가 항상 궁금한 반면 대부분의 명령형 / 개체 지향 언어는 괄호를 사용합니다. 더 수학적 방법입니다. 또한 후자의 스타일은 괄호가없는 것보다 훨씬 명확하고 읽기 쉽다고 생각합니다. 따라서 f (x) = …

7
RESTful API는 빈혈 도메인 모델을 장려하는 경향이 있습니까?
도메인 중심 디자인과 REST를 모두 서비스 지향 아키텍처에 적용하려는 프로젝트를 진행 중입니다. 우리는 약 100 % REST 준수에 대해 걱정하지 않습니다. 리소스 지향 HTTP API (~ Richardson의 REST 성숙도 모델의 레벨 2) 를 구축하려고한다고 말하는 것이 좋습니다 . 그럼에도 불구하고, 우리는 HTTP 요청의 RPC 스타일의 사용을 멀리하려고하는, 즉 우리가 구현하려고 …

3
Java 개발에는 일반적으로 C # /. NET보다 더 많은 서브 클래 싱이 포함됩니까?
최근에 Android 개발을 살펴보기 시작했습니다. 이것은 Java 소프트웨어 개발의 세계로 다시 돌아 왔습니다. Java로 마지막으로 작업했을 때, 나는 지금 (나는 생각하는 것)만큼 OOP를 이해하지 못했다는 것을 인정할 것이다. 내 경력에서 주로 C #을 사용하면서 상속이 Java 및 C #을 사용하는 방식에 놀라운 차이가 있음을 알았습니다. C #에서는 대부분의 상황에서 상속을 …

1
테이블 형식 프로그래밍이란 무엇입니까?
팔콘 프로그래밍 언어는 표 프로그래밍을 지원하는 것으로 자체를 광고한다 : Falcon은 6 가지 통합 프로그래밍 패러다임을 제공합니다 : 절차 적, 객체 지향, 프로토 타입 지향, 기능, 표 및 메시지 지향. 그리고 당신은 그들 모두를 마스터 할 필요가 없습니다; 원하는 재료를 고르고 코드가 당신의 영감을 따르도록해야합니다. 이 문서 는 언어의 표 …
34 paradigms 

5
군용 응용 프로그램을 명시 적으로 금지하는 "오픈 소스"라이센스
나는 연구원이고, 나의 연구에서 나는 많은 프로그래밍을한다. 저는 투명성과 재현성이 이미 문화의 큰 부분 인 연구에서 특히 오픈 소스 개념의 팬입니다. 커뮤니티에 가능한 한 많이 기여하고 있으며 누구나 사용할 수있는 코드를 공개하는 것이 그 일부입니다. 그러나 연구에는 항상 생산하는 재료가 무엇을 사용할 것인지에 대한 일정한 불확실성이 있습니다. 본인은 결과 나 …

3
다른 호스트의 git 저장소를 동기화 상태로 유지
작은 프로젝트를 시작하려고 생각하고 git으로 버전을 만들고 싶습니다. Bitbucket 은 무료 플랜으로 나에게 좋은 옵션 인 것 같습니다. 웹 인터페이스, Mac OS 클라이언트 등과 같은 멋진 도구가 있기 때문에 git 작업을위한 주요 도구로 사용하고 싶습니다. 그러나 타사 서비스를 사용하여 발생할 수있는 우발적 손상으로부터 보호하기 위해 저장소의 두 번째 백업 사본으로 …
34 git 

2
확장 성이 뛰어난 클래스에서 사용하기에 Bloch의 빌더 패턴을 개선하는 방법
나는 Joshua Bloch의 Effective Java book (2 판)에 크게 영향을 받았으며 아마도 내가 읽은 프로그래밍 책보다 더 많은 영향을 미쳤을 것입니다. 특히 그의 빌더 패턴 (항목 2)이 가장 큰 영향을 미쳤습니다. Bloch의 빌더가 지난 10 년 동안의 프로그래밍보다 몇 달 더 멀어 졌음에도 불구하고 여전히 같은 벽에 부딪 히고 있습니다. …

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