소프트웨어 공학

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

4
Alan Kay가“객체 지향”이라는 용어의 의미는 무엇입니까?
보고 된 바에 따르면, Alan Kay는 "객체 지향"이라는 용어의 발명가입니다. 그리고 그는 종종 오늘날 우리가 OO라고 부르는 것이 그가 의미하는 것이 아니라고 말한 것으로 인용됩니다. 예를 들어 방금 Google에서 이것을 발견했습니다. 나는 '객체 지향'이라는 용어를 만들었고 C ++을 염두에 두지 않았다고 말할 수 있습니다. -Alan Kay, OOPSLA '97 나는 희미하게 …


18
의존성 주입 : 판매 방법 [폐쇄]
나는 의존성 주입 (DI) 및 자동화 된 테스트 의 큰 팬이라는 것을 알게되었습니다 . 나는 하루 종일 그것에 대해 이야기 할 수 있습니다. 배경 최근에 우리 팀은이 큰 프로젝트를 처음부터 새로 만들었습니다. 복잡한 비즈니스 요구 사항이있는 전략적 응용 프로그램입니다. 물론, 나는 그것이 깨끗하고 깨끗하기를 원했습니다. DI를 사용하고 싶었습니다. 저항 문제는 …


9
관계형 데이터베이스에서 목록을 사용해도 괜찮습니까?
프로젝트 개념을 다루기 위해 데이터베이스를 설계하려고 시도했으며 뜨거운 논쟁의 여지가있는 것처럼 보였습니다. 필자는 몇 가지 기사와 스택 오버플로 답변을 읽었으며 필드에 ID 목록 등을 저장하는 것은 결코 불가능하거나 거의 불가능하다는 것을 나타냅니다. 모든 데이터는 관계형이어야합니다. 그러나 내가 겪고있는 문제는 작업 할당자를 만들려고한다는 것입니다. 사람들은 작업을 만들어 여러 사람에게 할당하고 데이터베이스에 …

1
콜백과 약속 사이에 근본적인 차이점이 있습니까?
단일 스레드 비동기 프로그래밍을 수행 할 때 익숙한 두 가지 주요 기술이 있습니다. 가장 일반적인 것은 콜백을 사용하는 것입니다. 이는 콜백 함수를 매개 변수로 비동기식으로 작동하는 함수에 전달하는 것을 의미합니다. 비동기 작업이 완료되면 콜백이 호출됩니다. jQuery이런 식으로 설계된 일부 일반적인 코드는 다음과 같습니다. $.get('userDetails', {'name': 'joe'}, function(data) { $('#userAge').text(data.age); }); …

10
“무용 한 괄호”를 제거하는 그의 사랑으로 누군가가 삼촌에게 도전 할 수 있습니까?
유료 콘텐츠를 참조하는 것이 싫지만 이 비디오 는 내가 말하는 내용을 정확하게 보여줍니다. Robert Martin에서 정확히 12 분은 다음과 같습니다. "내가 가장 좋아하는 일 중 하나는 쓸모없는 괄호를 없애는 것"이라고 말합니다. 오래 전에, 멀리 떨어진 교육에서 나는 그렇지 않은 if경우에 의해 제어되는 다른 들여 쓰기 된 줄을 추가하여 버그를 쉽게 …

12
커밋 히스토리를 사용하여 개발자에게 중요한 정보를 전달해야합니까?
최신 버전에서 타사 SDK를 롤백하는 회의에서 개발자가 커밋 기록에 이미 최신 버전을 사용해서는 안된다고 신고했습니다. 일부 개발자는 이것이 나쁜 습관이라고 주장했으며 대신 소스 파일 (예 :) // Don't upgrade SDK Version x.y.z, see ticket 1234또는 프로젝트 레벨 README파일 에 언급해야했습니다 . 다른 사람들은 커밋 히스토리가 프로젝트 문서의 일부이기 때문에 어쨌든 …

10
OOP에서 동작이없는 객체-디자인 딜레마
OOP의 기본 개념은 데이터와 동작 (데이터 위에 있음)을 분리 할 수 ​​없으며 클래스 객체의 아이디어와 연결되어 있다는 것입니다. 객체에는 그와 함께 작동하는 데이터 및 메소드가 있습니다. 분명히 OOP의 원칙에 따르면 데이터 (C 구조체와 같은) 인 객체는 반 패턴으로 간주됩니다. 여태까지는 그런대로 잘됐다. 문제는 요즘 내 코드 가이 안티 패턴의 방향으로 …

16
왜 사용자 정의 연산자가 더 일반적이지 않습니까?
함수형 언어에서 놓칠 수있는 기능 중 하나는 연산자는 함수일 뿐이므로 사용자 지정 연산자를 추가하는 것은 함수를 추가하는 것만 큼 간단합니다. 많은 절차 적 언어는 연산자 오버로드를 허용하므로 어떤 의미에서 연산자는 여전히 함수입니다 (이것은 연산자가 템플릿 매개 변수에 문자열로 전달되는 D 에서 매우 그렇습니다 ). 연산자 오버로드가 허용되는 경우 사용자 지정 …


14
프로그래밍을 거꾸로 배우거나 FizzBuzz 테스트에 실패했습니다. 이제 무엇?”[닫은]
작은 배경 저는 28 살이고 소프트웨어 개발에 대한 공식 교육을받은 적이 없지만 홍보 학사 학위와 프로젝트 관리에 중점을 둔 경영학 석사 학위와 동등한 2 개의 고등 교육 학위를 보유하고 있습니다. 나는 그 분야에서 약 6 년 동안 일했고, 2,5 년 전에는 직장을 그만두고 길을 바꾸기로 결정했습니다. 한 달 동안 생각을 …
94 skills 

7
이 선임 소프트웨어 엔지니어 타이틀의 차이점은 무엇입니까? [닫은]
저는 현재 대기업의 선임 연구 소프트웨어 엔지니어이며 다른 곳에서 "선임 직원 엔지니어"직책을 맡고 있습니다. 새 직책의 직책이 옆으로 움직이거나 발전했는지 확실하지 않습니다. 따라서 다른 모든 것 (임금, 전문 분야 등)과 거의 동일합니다.이 소프트웨어 엔지니어 타이틀의 외부 차이점은 무엇입니까 (일반적으로 가능하면 특정 회사에 관계없이). 수석 엔지니어 선임 연구원 선임 스태프 엔지니어 …

27
사람들이 프로그래밍 서적을 사용하는 이유는 무엇입니까? [닫은]
나는 누군가 프로그래밍하는 법을 배우는 가장 좋은 방법이 무엇인지 물어 보면 사람들은 대개 다양한 저자들이 쓴 많은 글에 대한 참조를 제공한다는 것을 알게되었습니다. 그러나 나는 많은 사람들이 책에서 프로그램을 배우는 것을 전혀 믿지 않습니다. 나는 그들이 보통 도전에 직면하고 있음을 발견하고 그것을 극복하기위한 도구로 프로그래밍을 사용한다. 예를 들어, 내가 플레이하고있는 …

16
TDD 부정적인 경험 [폐쇄]
TDD 경험의 부정적인면은 무엇입니까? 아기 발걸음 (테스트 녹색을 만드는 가장 간단한 수정)이 성 가시고 쓸모가 없습니까? 가치가없는 테스트 (테스트가 초기에 의미가 있지만 최종 구현에서 다른 테스트와 동일한 논리를 검사 할 때)가 중요하다는 것을 알고 있습니까? 기타 위의 질문은 TDD 경험 중에 불편한 것에 관한 것입니다. 그래서 다른 개발자들이 비슷한 감정을 …
94 tdd 

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