소프트웨어 공학

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

12
OOP 문서는 "getter"가 계산을 수행하는지 여부를 지정하지 않아야합니까?
우리 학교의 CS 프로그램은 객체 지향 프로그래밍에 대한 언급을 피하므로 직접 Bertrand Meyer의 객체 지향 소프트웨어 구성 을 보완하기 위해 독자적으로 독서를 해왔습니다 . Meyer는 클래스가 가능한 한 구현에 대한 많은 정보를 숨겨야한다는 점을 반복해서 지적합니다. 특히 그는 속성 (즉, 정적, 계산되지 않은 클래스의 속성)과 루틴 (함수 / 프로 시저 …

5
네임 스페이스가있는 Smurf Naming 클래스를 피하는 문제
스머프 명명이라는 용어를 여기 에서 뽑았습니다 (21 번). 문제를 잘 모르는 사람을 구하기 위해 Smurf 이름 지정은 관련 클래스, 변수 등을 공통 접두어로 접두어로 붙여 "a SmurfAccountViewa SmurfAccountDTOto a SmurfAccountController"등으로 끝나는 행위입니다 . 내가 일반적으로 들었던 해결책은 스머프 네임 스페이스를 만들고 스머프 접두사를 삭제하는 것입니다. 이것은 일반적으로 나에게 도움이되었지만 두 …

13
정수 상수에서 밑줄을 허용하지 않는 언어에서는 10 억 상수를 만드는 것이 좋은 방법입니까?
정수 리터럴로 밑줄을 허용하지 않는 언어에서는 10 억 상수를 만드는 것이 좋습니다. 예를 들어 C ++에서 : size_t ONE_BILLION = 1000000000; 확실히, 우리는 100과 같은 작은 숫자에 대한 상수를 생성해서는 안됩니다. 그러나 9 개의 0을 사용하면 다음과 같이 0을 남기거나 코드에 여분의 숫자를 추가하는 것이 쉽습니다. tv_sec = timeInNanosec / …

2
순전히 기능적인 언어에 대한 오해?
나는 종종 다음과 같은 진술 / 논쟁에 직면한다 : 순수한 기능적 프로그래밍 언어는 부작용을 허용하지 않습니다 (따라서 유용한 프로그램이 외부 세계와 상호 작용할 때 부작용이 있기 때문에 실제로는 거의 사용되지 않습니다). 순수 기능 프로그래밍 언어는 상태를 유지하는 프로그램을 작성할 수 없습니다 (많은 응용 프로그램에서 상태가 필요하기 때문에 프로그래밍이 매우 어색합니다). …

4
널값은 어디에 저장되거나 전혀 저장되지 않습니까?
null 값 또는 null 참조에 대해 배우고 싶습니다. 예를 들어 Apple이라는 클래스가 있고 인스턴스를 만들었습니다. Apple myApple = new Apple("yummy"); // The data is stored in memory 그런 다음 그 사과를 먹었고 이제는 null이어야합니다. 그래서 나는 null로 설정했습니다. myApple = null; 이 전화 후에, 나는 그것을 먹었고 지금 확인하고 싶다는 …
39 memory  null 

6
개발과 R & D의 차이점은 무엇입니까?
동료에게 일반 개발과 연구 개발 (R & D)의 차이점을 명확하게 설명해 달라는 요청을 받았지만 그렇게 할 수 없었습니다. Wikipedia를 읽은 후에도 여전히 정확한 대답이 없습니다. Wikipedia 에 따르면 (약간 수정 됨) : 두 가지 기본 모델이 있습니다. 한 모델에서 주요 기능은 신제품 을 개발하는 것입니다 . 다른 모델에서 주요 기능은 …

5
불변성이 다중 프로세서 프로그래밍에서 잠금의 필요성을 완전히 제거합니까?
1 부 분명히 불변성 은 다중 프로세서 프로그래밍에서 잠금의 필요성을 최소화 하지만 불필요 함만으로는 불충분 한 경우가 있습니까? 대부분의 프로그램이 실제로 무언가를해야하기 (데이터 저장소 업데이트, 보고서 생성, 예외 발생 등)하기 전에 처리를 지연하고 상태를 캡슐화 할 수있는 것 같습니다. 이러한 조치를 항상 잠금없이 수행 할 수 있습니까? 원본을 변경하는 대신 …

14
현실 세계에서 파이썬은 어떻게 사용됩니까? [닫은]
파이썬 프로그래머로 일자리를 찾고 있습니다. 나는 언어의 기본을 알고 있으며 pygame 을 사용하여 몇 가지 게임을 만들었습니다 . 나는 또한 장고 실험을 시작했다 . 그러나 직업 시장을 살펴보면 웹과 관련된 많은 Python 직업이 아닌 것 같습니다. 데스크탑 측면에서는 많은 회사가 pyQt 또는 wxPython 과 같은 인기있는 GUI 라이브러리를 사용하는 것처럼 …
39 python 

9
정적 멤버를 제외한 유틸리티 클래스는 C ++의 안티 패턴입니까?
클래스와 관련이없는 함수를 어디에 두어야하는지에 대한 질문 은 C ++에서 유틸리티 함수를 클래스에 결합하는 것이 합리적인지 또는 네임 스페이스에서 자유 함수로 존재하는지 여부에 대한 논쟁을 불러 일으켰습니다. 나는 후자의 옵션이 존재하지 않는 C # 배경에서 왔으므로 자연스럽게 내가 작성한 작은 C ++ 코드에서 정적 클래스를 사용하는 경향이 있습니다. 그러나 몇 …

6
내부 멤버 사이에 클래스 멤버를 선호하거나 인수를 전달 하시겠습니까?
클래스의 개인 부분 내에 여러 개인 메소드가 사용하는 값이 있다고 가정하십시오. 사람들은 이것을 클래스의 멤버 변수로 정의하거나 각 메소드에 대한 인수로 전달하는 것을 선호합니까? 그 이유는 무엇입니까? 한편으로는 클래스의 상태 (즉, 멤버 변수)를 줄이는 것이 일반적으로 좋은 일이라는 주장을 알 수 있지만 클래스의 메소드에서 동일한 값이 반복적으로 사용되는 경우 이상적입니다. …

11
UML에서 코드가 일반적으로 생성됩니까? [닫은]
대학에있을 때 UML의 이점과 코드 개발의 미래에 대해 교육 받았습니다. 그러나 업계 경험을 바탕으로 ER 다이어그램, 클래스 다이어그램, 상태 다이어그램에서 작업 흐름 다이어그램에 이르는 다이어그램을 사용하는 것은 모두 커뮤니케이션을위한 것임을 알았습니다. 즉, 다이어그램에서 코드를 자동으로 생성 한 적이 없으며 통신 관점에서 일반적으로 다이어그램을 가능한 한 간단하고 이해하기 쉽게 유지하려고 노력합니다. …
39 uml  diagrams  visio 

8
C ++에서 메모리 관리에 소요되는 프로그래머 시간
가비지 수집 언어에 익숙한 사람들은 종종 C ++의 메모리 관리가 무섭습니다. 같은 도구가 있습니다 auto_ptr그리고 shared_ptr당신을위한 메모리 관리 많은 작업을 처리 할 수있는가. 많은 C ++ 라이브러리가 이러한 도구보다 우선하며 메모리 관리 작업을 처리하는 고유 한 방법이 있습니다. 메모리 관리 작업에 얼마나 많은 시간을 소비합니까? 나는 그것이 사용하는 라이브러리 세트에 …
39 c++  memory 

20
아래 클래스에서 성능이 크게 뛰어난 실제 알고리즘이 있습니까? [닫은]
어젯밤 나는 다른 프로그래머와 논의했는데, 무언가 O (1) 일 수 있지만 O (n) 연산이 O (1) 알고리즘에 큰 상수가 있으면 성능이 뛰어날 수 있습니다. 그는 동의하지 않았으므로 여기로 가져 왔습니다. 아래 클래스의 알고리즘을 크게 능가하는 알고리즘의 예가 있습니까? 예를 들어, O (n)은 O (1)보다 빠르거나 O (n 2 )는 O …
39 algorithms  big-o 


13
애플리케이션에 자체 파괴 방법을 포함시켜야합니까?
최근에 고객이 청구서에서 쫓겨 난 부정적인 경험이 있었지만 중개인이 소프트웨어와 디자인을 클라이언트 서버에 이미 업로드했습니다. 클라이언트는 알려진 범죄자로 밝혀졌으며 물론 서버의 모든 가능한 암호를 변경했습니다. 그러나 여전히 CMS의 관리자 패널에 액세스 할 수 있습니다. 슬프게도 내 소프트웨어가 매우 안전하다는 것이 밝혀졌습니다 .. SQL 주입을 시도하고 이미지 업로드 등을 위조했습니다. 그러나 …

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