소프트웨어 공학

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

10
명백하고 관련이있는 경우에 goto가 나쁜 점은 무엇입니까?
나는 항상 그것이 goto나쁜 것으로 알고있다. 어딘가에 지하실에 갇혀 있지 않다. 그러나 오늘 코드 예제를 보았는데 사용하기에 완벽하다 goto. IP 목록에 있는지 확인한 다음 코드를 진행하고 그렇지 않으면 예외를 처리해야하는 IP가 있습니다. <?php $ip = '192.168.1.5'; $ips = [ '192.168.1.3', '192.168.1.4', '192.168.1.5', ]; foreach ($ips as $i) { if ($ip …
40 php  goto 

9
내 메소드에서 빈 콜렉션을 반복해야합니까?
메서드의 매개 변수를 반복하는 foreach 루프 내에서 모든 논리를 수행하는 방법이 있습니다. public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } 이 경우 빈 컬렉션을 보내면 빈 컬렉션이 생성되지만 이것이 현명하지 않은지 궁금합니다. 내 논리는 누군가 누군가 가이 메소드를 호출하면 …

5
매개 변수로 다른 함수에 함수를 전달하는 것은 나쁜 습관입니까?
AS3 애플리케이션이 백엔드와 통신하는 방식을 변경하는 과정에 있으며 이전 시스템을 대체하기 위해 REST 시스템을 구현하는 중입니다. 안타깝게도 작업을 시작한 개발자는 현재 장기 병가에 있으며 나에게 넘겨졌습니다. 나는 지난 주 정도 동안 그 일을 해왔고 시스템을 이해하지만 걱정되는 것이 하나 있습니다. 함수에 함수가 많이 전달되는 것 같습니다. 예를 들어 서버를 호출하는 …

3
도우미 란 무엇입니까? 디자인 패턴입니까? 알고리즘입니까?
어쩌면 약간의 혀가 있지만 Google을 통해 어디서나이 답변을 찾을 수 없으므로 Software Engineering이 답을 얻도록하십시오. 도우미 란 무엇입니까? 의미가 깊고 의미있는 것처럼 모든 곳에서 사용되는 이름 (모듈 이름, 클래스 이름, 메서드 이름)을 보았지만 컴퓨터 과학의 맥락에서 (도는 없지만) 어떤 곳에서도 설명이나 정의를 보지 못했습니다! 디자인 패턴입니까? 알고리즘입니까? 한 번 모듈과 …

3
DDD와 관련하여 경계 컨텍스트는 무엇입니까?
본 버논 (Vaughn Vernon)의 "도메인 구동 설계 구현"책을 통해 작업 할 때, 제한된 컨텍스트가 실제로 무엇인지 잘 이해하지 못했습니다. 이 책은 경계 된 문맥을 "도메인 모델이 적용되는 개념적 경계로 정의합니다. 팀이 말하고 정교하게 설계된 소프트웨어 모델로 표현 된 유비쿼터스 언어"( "본 안내서 안내서"섹션)를 정의합니다. 이 정의는 경계 컨텍스트가 하위 도메인의 …

9
TDD를 수행 할 때 로깅이 필요합니까?
Red, Green & Refactor주기를 수행 할 때는 항상 테스트를 통과하기위한 최소 코드를 작성해야합니다. 이것이 제가 TDD에 관해 배운 방식이며 거의 모든 책이 그 과정을 설명하는 방식입니다. 그러나 벌목은 어떻습니까? 솔직히 나는 실제로 복잡한 일이 발생하지 않는 한 응용 프로그램에서 로깅을 거의 사용하지 않았지만 적절한 로깅의 중요성에 대해 이야기하는 많은 게시물을 …

3
LISP와 Haskell의 장점은 무엇입니까? 그들은 나를 더 나은 프로그래머로 만들 것인가? [닫은]
나는 Lisp와 Haskell이 각각 논리 및 함수형 프로그래밍 언어라는 것을 알고 있지만 이것이 정확히 무엇을 의미합니까? 다른 언어와 어떻게 다릅니 까? 이것들을 배우면 더 나은 프로그래머가되고 논리를 향상시킬 수 있다고 들었습니다. 이것이 사실입니까? Lisp 또는 Haskell을 유능한 수준으로 배우면 프로그래밍이 향상되고 어떤 언어로든 문제를 처리하는 데 더 좋을까요? 나는 그들이 …
40 haskell  lisp 

2
Angular와 ASP.NET MVC / 웹 API를 혼합 하시겠습니까?
ASP.NET MVC / Web API를 사용하여 왔으며 이제 Angular를 사용하기 시작했지만 올바른 혼합 방법을 모르겠습니다. Angular를 사용하면 MVC 서버 측 개념에 여전히 가치가 있습니까? 아니면 각도 HTTP 호출에 대한 데이터를 얻기 위해 순전히 웹 API를 사용해야합니까? VS 템플릿이 필요하지 않은 많은 것들을 추가하는 경우 사용해야하는 시작점이 더 줄어 들었습니까? 나는 …

16
소스 파일의 시작 부분에 버그 번호를 주석에 넣는 것이 좋습니다. [닫은]
헤더 주석 안에 파일 자체에 버그 번호를 넣는 것이 좋은 방법입니까? 주석은 다음과 같습니다. MODIFIED (MM/DD/YY) abc 01/21/14 - Bug 17452317 - npe in drill across in dashboard edit mode cde 01/17/14 - Bug 2314558 - some other error description 도움이 될 것 같지만 나쁜 습관으로 간주됩니까?

11
작동하지 않는 코드를 커밋해도 괜찮습니까?
작동하는 코드 만 커밋해야합니까? 이 커밋은 다음과 같이 저장소를 작동 상태로 둘 필요가 없습니다. ... 우리는 초기 설계 단계에 있으며 코드는 아직 안정적이지 않습니다. ... 당신은 프로젝트의 유일한 개발자입니다. 왜 작동하지 않는지 알고 있습니다. 또한 깨진 코드를 커밋하여 다른 사람의 작업을 중단하지 않습니다. ... 현재 코드가 작동하지 않습니다. 우리는 그것에 …

4
다운 타임 제로 구축 달성
가동 중지 시간이없는 배포를 달성하려고 노력하여 근무 외 시간에는 더 적게 배포하고 "느린"시간에는 이론적으로 더 많이 배포 할 수 있습니다. 내 현재 설정은 다소 단순화되었습니다. 웹 서버 A (.NET 앱) 웹 서버 B (.NET 앱) 데이터베이스 서버 (SQL Server) 내 현재 배포 프로세스 : 웹 서버 A와 B의 사이트를 "중지" …

5
람다 식은 단일 메서드를 사용하는 익명의 내부 클래스 이상의 것입니까?
Java 8에서 오랫동안 기다려온 람다 식으로 새로운 과대 광고가 있습니다. 3 일마다 얼마나 멋진 지에 대한 또 다른 기사가 나타납니다. 내가 람다 식을 이해하는 한 단일 메소드 (적어도 바이트 코드 수준)를 가진 익명의 내부 클래스에 지나지 않습니다. 이것 외에도 또 다른 멋진 기능이 있습니다. 유형 추론이지만 이것과 동등한 것은 어떤 …

9
개발 시스템에서 바이러스 백신 소프트웨어를 선호하는 의미 있고 강력한 주장을 찾고 있습니다.
의견을 제시 할 때, 학문적 전통을 따르는 것이 좋습니다. 여러분이 가지고있는 의견 에 대해 가능한 한 열심히 생각 하고 반대론을 찾으십시오. 그러나 아무리 노력해도 개발 시스템에서 바이러스 백신 및 관련 보안 조치를 선호하는 합리적인 주장을 찾을 수는 없습니다. 개발중인 안티 바이러스 (AV)에 대한 주장은 풍부합니다. AV를 켠 상태에서 1 분 …

11
가상 머신으로 제공되는 소프트웨어를 허용하지 않는 이유가 있습니까?
이것은 기술적 문제가 아니라 물류에 관한 문제입니다. 우리 회사는 일부 임베디드 소프트웨어 작업을 아웃소싱했습니다. 특히, 자체적으로 수행 할 적절한 사내 지식이 없기 때문에 (데스크톱 애플리케이션 개발자 만 있음) 임베디드 시스템을 개발하기 위해 계약자에게 비용을 지불했습니다. 따라서 계약 업체는 소프트웨어를 완성했으며 가상 머신으로 소프트웨어를 제공 할 수 있는지 물었습니다. VM은 소스 …

3
클로저의 장점은 무엇입니까? [닫은]
나는 최근 Clojure를 살펴 보았고 모범 사례를 따르는 일부 프로젝트와 전반적인 Clojure 코드를 나타내는 Stackoverflow 에 대한 이 게시물을 우연히 발견했습니다 . 몇 가지 기본 자습서를 읽은 후 언어에 대해 이해하고 싶었으므로 "실제"프로젝트를 살펴 보았습니다. ClojureScript 와 Compojure (위에서 언급 한 "좋은"프로젝트 중 두 가지) 를 살펴본 후 Clojure가 농담 …
40 clojure 

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