소프트웨어 공학

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

2
콜 그래프 그리기
파이썬으로 작성된 오래된 코드베이스를 유지하고 있습니다. 특히 모듈에서 다른 함수를 호출하는 다른 모듈에서 다른 함수를 호출하는 복잡한 코드가 있습니다. OOP가 아니라 기능과 모듈입니다. 주 함수를 호출 할 때마다 흐름이 시작되고 끝나는 위치를 추적하려고했지만 하위 호출에서 길을 잃기 때문에 이것을 그릴 필요가 있다고 생각합니다. 나에게 중요한 것은 각 함수가 본문 내에서 …

1
ASP.NET MVC의 비동기 컨트롤러 : 실제 장점 / 어떻게 달성 했습니까?
ASP.NET MVC ( http://visualstudiomagazine.com/articles/2013/07/23/async-actions-in-aspnet-mvc-4.aspx )의 비동기 컨트롤러 방법에 대한 기사를 작성 중이며 생각합니다. 요점을 놓칠 수 있습니다. 내가 쓴이 방법을 고려하십시오.이 기사의 예와 매우 유사합니다. [HttpGet] [AsyncTimeout(8000)] [HandleError(ExceptionType = typeof(TimeoutException), View = "TimedOut")] public async Task<ActionResult> Index(CancellationToken cancellationToken) { WidgetPageViewModel model = new WidgetPageViewModel() { toAdd = new Widget() }; …

2
파이썬에서 범위와 네임 스페이스 사이의 관계는 무엇입니까?
많은 자원에서 "scope" 와 "namespaces" 는 서로 바꿔서 사용되는 것으로 나타났습니다 . 범위는 이름을 사용할 수있는 코드 영역을 정의합니다. LEGB 규칙은 이름을 찾는 방법을 정의합니다. 네임 스페이스는 이름을 찾는 곳입니다. 그런 다음 읽었습니다. "이름은 할당 된 위치에 따라 네임 스페이스에 바인드됩니다 ..." (어휘 범위의 범위를 다루는 것이라고 생각합니다). "함수는 프로그램에 …
12 python 

2
스칼라 접두사 표기법
접두사 표기법을 사용하여 메소드를 호출 할 수 있습니까? 예를 들어, Haskell에서 다음 함수를 작성할 수 있습니다. x `isAFactorOf` y = x % y == 0 그런 다음 다음과 같이 사용하십시오. if 2 `isAFactorOf` 10 ... 어떤 경우에는 매우 읽기 쉬운 코드를 허용합니다. 스칼라에서도 이와 비슷한 것이 있습니까? "Scala infix 표기법"을 …
12 scala 

7
OOP는 속성 개념을 포함하도록 어떻게 발전 했습니까?
나는 C ++ 배경에서 왔으며 현재 직장에서 C #을 외출 중이며 공개 필드와 속성의 차이점 과이의 변형과 화신의 앞뒤로 많은 Q & A를 읽었습니다. 기본 질문 (예 :이 SO 게시물 및 모든 관련 링크 된 질문 ). 이러한 모든 질문은 속성 시스템의 존재를 당연히 받아들이는 실질적인 차이 측면에서 다루어졌지만, 처음에는 …

2
초기화되지 않은 객체 변수와 Java에서 초기화 된 객체 변수의 차이점은 무엇입니까?
다음 두 가지 객체 변수가 있습니다 Date a; Date b=null; 확실히 'a'와 'b'는 어떤 객체도 가리 키지 않습니다. 이제 다음 진술을 호출하면 System.out.println(a.toString()); 컴파일 시간 오류가 발생하지만 다음 명령문을 호출하면 System.out.println(b.toString()); 컴파일 시간 오류는 없지만 런타임 오류가 있습니다. 그 이유는 무엇이며 널 값을 나타 내기 위해 실제로 어떤 값이 'b'에 …
12 java 

4
메소드 이름에 연결을 사용하는 것이 나쁜 명명 규칙 인 이유는 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 우리 팀에서는 몇 명의 소프트웨어 설계자와 긴밀히 협력하고 있습니다. 그들은 우리 프로젝트의 모든 디자인 결정을 승인하고 코드 검토 …

2
평신도의 관점에서, 왼쪽 재귀는 무엇입니까?
code.google.com의 한 페이지 에 따르면 "왼쪽 재귀"는 다음과 같이 정의됩니다. 왼쪽 재귀는 재귀 적 비 터미널을 의미하며, 자체를 포함하는 정서 양식을 생성 할 때 새 자체 사본이 프로덕션 규칙의 왼쪽에 나타납니다. Wikipedia 는 두 가지 정의를 제공합니다. 문맥이없는 문법의 관점에서, r의 생산 ( '대안')에서 가장 왼쪽의 기호가 즉시 (직접 / …

3
종속성 반전 원리와 "구현이 아닌 인터페이스로의 프로그램"
Dependency Inversion Principle이 "구현이 아닌 인터페이스에 대한 프로그램"원칙과 어떻게 다른지 이해하려고합니다. "구현이 아닌 인터페이스에 대한 프로그램"의 의미를 이해합니다. 또한보다 유연하고 유지 관리 가능한 디자인이 가능한 방법을 이해합니다. 그러나 Dependency Inversion Principle이 "구현이 아닌 인터페이스에 대한 프로그램"원칙과 어떻게 다른지 이해하지 못합니다. 웹의 여러 곳에서 DIP에 대해 읽었지만 혼란을 풀지 못했습니다. 나는 …

3
글로벌 요청 컨텍스트-안티 패턴?
저는 오늘 파이썬 웹 프레임 워크와 그에 대한 인상에 대해 제 동료에게 이야기하고있었습니다. 전 세계 요청을받은 Flask가 악취가 나고 반 패턴이라고 생각합니다. 문서는 요청 컨텍스트에 대해 말 : 반대로 요청을 처리하는 동안 몇 가지 다른 규칙이 있습니다. 요청이 활성화되어있는 동안 컨텍스트 로컬 객체 (flask.request 및 기타)는 현재 요청을 가리 킵니다. …

6
Java에서 정적 생성자로 작업
Java의 정적 생성자를 완전히 이해하지 못했습니다. 허용된다면 왜 허용됩니까? 어떤 시나리오에서 사용 하시겠습니까? 어떤 목적으로 사용됩니까? 누군가 나에게 간단한 예를 들어 줄 수 있습니까?
12 java 

3
선임 개발자로 채용 된 적이 있으며, 주니어 개발자도 된 적이 없습니다. 어떻게해야합니까? [닫은]
닫은. 이 질문은 주제에 맞지 않습니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? Software Engineering Stack Exchange에 대한 주제가 되도록 질문을 업데이트하십시오 . 휴일 육년 전 . 저는 야간에 프리랜서와 코더로 일해 왔으며 최근에는 특정 분야에서 부족한 부분이 있지만 멋진 NY 회사에서 여러 수준의 인터뷰를 한 후 채용되었습니다. 경험이 …

2
중첩 정적 라이브러리 종속성이 가능합니까?
나는 QT에서 일하고 있습니다. 정적 라이브러리가 다른 정적 라이브러리에 의존 할 수 있습니까? (Static Lib은 다른 정적 라이브러리를 연결하여 작성 됨) 그렇다면 lib2에 연결 한 후 생성 된 lib (lib1)에 lib2의 모든 코드가 포함되어 있지 않을 수 있습니까? 내 Qt 프로젝트에서 여러 라이브러리에 의존하는 정적 라이브러리를 사용하고 있습니다. 내 코드에는 …
12 c++  qt  static-linking 

3
단일 어설 션 단위 테스트가 DRY 원칙을 위반하지 않습니까?
단위 테스트를 작성할 때마다 테스트가 실패 할 때 디버깅을 쉽게하기 위해 항상 테스트마다 단일 어설 션을 시도했습니다 . 그러나이 규칙을 따르면 각 테스트에서 동일한 코드를 지속적으로 복사하고 더 많은 테스트를 통해 다시 읽고 유지 관리하기가 더 어려워집니다. 단일 어설 션 테스트는 DRY를 위반합니까? 그리고 방법마다 하나의 테스트를하는 것과 같이 좋은 …

2
실용적인 컴퓨터를 만들 수 있을까요?
FP가했던 것처럼, 결국 우리의 모든 프로그램은 구조화되어 있습니다. 즉, 우리가 그것들을 얼마나 순수하거나 기능적으로 만드는지는 중요하지 않습니다. 그것들은 항상 어셈블리로 변환되므로 실제로 후드 뒤에서 실행되는 것은 명령, 상태 및 루프입니다. 우리는 FP를 모방하고 있습니다. 하드웨어 멍청한 놈으로서, 제 질문은 : 실제로 기능적인 스타일로 물건을 계산하는 컴퓨터 아키텍처를 사용하지 않는 이유는 …

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