소프트웨어 공학

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

4
많은 소프트웨어 개발자가 개방 / 폐쇄 원칙을 위반하는 이유는 무엇입니까?
많은 소프트웨어 개발자 가 업그레이드 후 응용 프로그램을 손상시키는 기능 이름 변경과 같은 여러 가지 사항을 수정 하여 개방 / 폐쇄 원칙 을 위반하는 이유는 무엇 입니까? 이 질문은 React 라이브러리 의 빠른 버전과 지속적인 버전을 마친 후 제 머리로 뛰어 넘습니다 . 짧은 기간마다 구문, 구성 요소 이름 등이 …


2
"음영"Java 종속성이란 무엇입니까?
여기에 JVM 개발자가 있습니다. 최근에 나는 IRC 대화방이나 심지어 내 사무실에서도 소위 " 음영 된 "Java 라이브러리에 대한 혼란을 보았습니다 . 사용 컨텍스트는 다음과 같습니다. " XYZ에"음영이없는 "클라이언트를 제공합니다. " HBase에 대한이 Jira 문제 는 완벽한 예입니다 . " 음영 처리 된 종속성이있는 클라이언트 아티팩트 게시 " 그래서 나는 묻습니다 …
74 java  libraries  jvm 

10
왜 개발 중심 테스트 (DDT)가 아닌 테스트 중심 개발 (TDD)에 대해 민첩한가?
따라서 민첩한 것은 아니지만 테스트 중심의 개발은 아닙니다 . 대학의 교수님들은 모두 테스트 아이디어와 코드 테스트에 관한 것이 었습니다. 왜 그런지 잘 모르겠습니다. 내 관점에서 볼 때 코드가 발전함에 따라 변경 될 가능성이 높은 초기 비용이 많이 듭니다. 이것이 내가 TDD를 상상하는 방법과 그것이 나를 혼란스럽게하는 이유입니다. 내가 TDD 계약자로서 …

7
소프트웨어 프로젝트에서 우발적 인 복잡성을 관리하는 방법
Murray Gell-Mann에게 Richard Feynman이 어떻게 그렇게 많은 어려운 문제를 해결할 수 있는지 물었을 때 Gell-Mann은 Feynman이 알고리즘을 가지고 있다고 응답했습니다. 문제를 기록하십시오. 진짜 열심히 생각하십시오. 솔루션을 작성하십시오. Gell-Mann은 Feynman이 다른 종류의 문제 해결사이며 자신의 방법을 연구하여 얻을 수있는 통찰력이 없다고 설명하려고했습니다. 중형 / 대형 소프트웨어 프로젝트에서 복잡성을 관리하는 것과 같은 …

17
프로그래밍 분야에서 자기 교육이 얼마나 중요합니까? [닫은]
저는 16 살입니다. 약 1 년 전에 고등학교를 시작하려고했을 때 프로그래밍을 시작했습니다. 저는 프로그래밍 분야에서 경력을 쌓기 위해 최선을 다하고 있습니다. 처음 시작할 때 책에서 C ++의 기초를 배우고 거기서부터 스스로 배우기 시작했습니다. 요즘 나는 1 년 전보다 훨씬 더 경험이 풍부합니다. 고등학교가 프로그래밍에 대해 가치있는 것을 가르쳐주지 않기 때문에 …

6
`catch (…)인가? {throw; }`나쁜 습관?
다시 ... 던지지 않고 잡는 것이 실제로 잘못되었다는 것에 동의 하지만, 나는 다음과 같은 구문을 사용한다고 생각합니다. try { // Stuff } catch (...) { // Some cleanup throw; } RAII가 적용되지 않는 경우 허용됩니다 . (제발, 제발 묻지 마십시오. 우리 회사의 모든 사람이 객체 지향 프로그래밍을 좋아하지는 않으며 RAII는 …
74 c++ 

14
C 프로그램이 실행될 때“int”및“char”와 같은 데이터 유형 선언자가 RAM에 저장됩니까?
C 프로그램이 실행 중이면 데이터는 힙 또는 스택에 저장됩니다. 값은 RAM 주소에 저장됩니다. 그러나 유형 표시기 (예 : int또는 char)는 어떻습니까? 그들은 또한 저장됩니까? 다음 코드를 고려하십시오. char a = 'A'; int x = 4; A와 4가 RAM 주소에 저장되어 있음을 읽었습니다. 그러나 약 a및 x? 가장 혼란스럽게도 실행은 어떻게 …
74 c  data 

11
스위치에서 break를 사용해야하는 이유는 무엇입니까?
각 문마다 그 switch구성 (많은 언어로)을 사용 하기로 결정한 (그리고 어떤 개념에 기초하여) 누가 break? 왜 이런 식으로 작성해야합니까? switch(a) { case 1: result = 'one'; break; case 2: result = 'two'; break; default: result = 'not determined'; break; } (PHP와 JS에서 이것을 주목했습니다; 아마도 이것을 사용하는 다른 많은 언어가있을 …
74 conditions 

7
MVC 패턴을 사용해야하는 이유는 무엇입니까?
요즘 웹 애플리케이션을 사용하는 모든 사람들이 모든 것에 MVC를 사용하고 싶어하는 것 같습니다. 그러나이 패턴을 사용하도록 설득하기가 어렵다는 것을 알게되었습니다. 백엔드 논리를 프로그램을 나타내는 프론트 엔드와 분리하는 것이 일반적인 아이디어라는 것을 이해합니다. 일반적으로 뷰는 항상 어느 정도 컨트롤러에 의존하는 것으로 보이며 이는 모델에 따라 다릅니다. 컨트롤러를 추가하면 어떤 이점이 있는지 …

15
개발자가 불가능한 요구 사항을 어떻게 거부해야합니까? [닫은]
내가 직면 한 문제는 다음과 같습니다. 프로젝트 관리자의 견적 : Spark, 다양한 iOS 응용 프로그램에 사용할 수있는 프레임 워크 개발 작업을 할당합니다. 요구 사항은 다음과 같습니다. UI 조작에 사용되는 엄지 손가락의 두께를 감지 할 수 있어야합니다. 이 정보를 사용하면 UI의 모든 요소가 자동으로 정렬되고 크기가 조정되어야합니다 . 더 큰 엄지 …

10
프로그래머는 직업에서 어떤 스트레스 요인에 직면하게되며 어떻게 대처해야합니까? [닫은]
스트레스를 관리하는 법은 직장에서 일하는 동안 건강을 유지하는 데 필수적입니다. 필요한 하위 과제는 스트레스의 근원을 인식하고 제한하는 법을 배우는 것입니다. 그러나 매일 갈기 중에는 스트레스 요인 (특히 프로그래머와 같은 집중적이고 집중된 인물)을 파악하기가 어려울 수 있습니다. 프로그래머는 어떤 유형의 스트레스 요인을 찾아야하며 어떻게 관리 할 수 ​​있습니까?

10
Java에서 클래스 당 몇 줄이 너무 많은가? [닫은]
경험상 Java의 한 클래스에 너무 많은 코드 줄이 너무 많은 경우 유용한 규칙은 무엇입니까? 분명히, 나는 줄의 수가 특정 클래스에 있어야하는 것과 그렇지 않아야하는 것에 사용하기 위해 실제 표준에 가깝지 않다는 것을 알고 있습니다. 수업은 적절한 OOP 철학 (캡슐화 등)을 고려하여 설계해야합니다. 즉, 경험상 규칙은 리팩토링 고려 사항을위한 유용한 시작점을 …

14
어느 시점에서 기술을 이력서에 올릴만큼 충분히 "알고"있습니까?
저는 최근 인터뷰에서 프로그래머를 만나서 Python, PHP, Rails 및 ASP를 몇 가지 기술로 나열했습니다. 그러나 인터뷰에서 인터뷰 대상자는 제어 구조와 기본 논리가 무엇인지 알지 못했으며 몇 가지 데모 자습서를 따랐습니다. 제 질문은 이것입니다 : 어느 시점에서 이력서에 정확하게 기술을 추가 할 수 있습니까 ? 모든 기본 개념을 보여 주거나 유용한 …
74 skills 

18
평범한 영어로 재귀 란 무엇입니까?
재귀에 대한 아이디어는 실제 세계에서는 흔하지 않습니다. 따라서 초보자 프로그래머에게는 약간 혼란 스럽습니다. 비록 그것들이 점차 개념에 익숙해 졌다고 생각합니다. 그렇다면 아이디어를 쉽게 파악할 수있는 좋은 설명은 무엇입니까?
74 recursion 

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