소프트웨어 공학

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

10
initialize (또는 init)의 반대는 무엇입니까? [닫은]
이 용어는 메소드 이름으로 사용됩니다. 이 메소드는 사용자 인터페이스의 일부가 숨겨 지거나 제거 될 때 호출되며 값을 기본값으로 재설정하고 더 이상 사용되지 않는 객체를 처리하는 데 사용됩니다. 가능한 이름은 해제, 제거, 폐기, 지우기 등입니다. 어느 것이 가장 적절하다고 생각하십니까?

11
코드 검토에서 검토자가 항상 문제에 대한 솔루션을 제시해야합니까? [닫은]
코드를 검토 할 때 일반적으로 문제를 해결하는 방법에 대한 특정 권장 사항을 만들려고합니다. 그러나 검토에 소비 할 수있는 시간이 제한되어 있기 때문에 이것이 항상 효과가있는 것은 아닙니다. 이 경우 개발자가 솔루션을 스스로 만들면 더 효율적입니다. 오늘 나는 몇 가지 코드를 검토 한 결과 클래스가 잘 설계되지 않았다는 것을 알았습니다. 특정 …


16
소프트웨어 개발자로서 자신을 마케팅하는 방법? [닫은]
나는 이것이 우리와 같은 기술 분야의 젊은이 들 사이에서 빈번한 문제라는 것을 알았습니다 . 경력 초기에 우리는 단순히 고용주에게 자신을 판매하는 방법을 알지 못하고 랜덤 프로그래머 # 57 (프로그래머이지만 기술적으로 좋지는 않지만)는 승진이나 승진을 얻습니다. 의사 소통을하고 자신보다 마케팅하는 방법을 알고 있습니다. 많은 사람들이 과거에 이런 일이 일어 났을 것으로 …

17
단위 테스트가 실패한 이유는 무엇입니까?
일부 조직에서는 소프트웨어 릴리스 프로세스의 일부가 단위 테스트를 사용하는 것이지만 어느 시점에서든 모든 단위 테스트를 통과해야합니다. 예를 들어 모든 단위 테스트가 녹색으로 전달되는 화면이있을 수 있습니다. 개인적으로 나는 이것이 다음과 같은 이유가 아니라고 생각합니다. 그것은 코드가 완벽하고 버그가 없어야한다는 아이디어를 촉진합니다. 실제 세계에서는 어떤 크기의 프로그램에서도 불가능합니다. 실패 할 단위 …

30
영어를 사용하지 않는 국가의 사람들이 영어로 코드를 작성합니까? [닫은]
동료가 어디에서 왔든 관계없이 모든 사람이 "영어로 코딩"한다고 들었습니다. 믿기 ​​어렵다는 것을 알지만 대부분의 프로그래밍 언어에서 지원되는 문자 집합이 상대적으로 좁아도 놀라지 않을 것입니다. 영어가 모국어가 아닌 나라에서 일한 적이 있습니까? 그렇다면 코드는 어떻게 생겼습니까?

5
Java가 꼬리 재귀에 대해 전혀 최적화되지 않은 이유는 무엇입니까?
내가 읽은 것에서 : 그 이유는 상속을 받았을 때 실제로 어떤 메소드가 호출 될지를 결정하는 것이 쉽지 않기 때문입니다. 그러나 왜 Java가 정적 메소드에 대해 꼬리 재귀 최적화를 가지고 있지 않고 컴파일러로 정적 메소드를 호출하는 적절한 방법을 시행하지 않는 이유는 무엇입니까? 왜 Java는 꼬리 재귀를 전혀 지원하지 않습니까? 여기에 어려움이 …

17
사용자 인터페이스 클래스를 명령 행 인터페이스로 대체 할 수 있다고 생각하는 아키텍처를 설계하는 것이 좋습니다.
코드 완성 페이지 25에서 일반 사용자 인터페이스 클래스를 명령 행 1로 쉽게 대체 할 수있는 것이 좋습니다. 테스트의 장점을 알고 있으면 어떤 문제가 발생할 수 있습니까? 이 추가 작업이 웹 및 모바일 프로젝트에 실제로 도움이됩니까? 중소 프로젝트는 어떻습니까? 동일한 규칙이 적용됩니까? 디자인이 더 복잡해지면 어떨까요?

10
동료들이 단위 테스트를 작성하도록 동기를 부여하는 방법? [닫은]
우리는 약 5 년 동안 생산 된 대형 제품을 연구하고 있습니다. 코드베이스가 작동 중입니다. 실제로는 좋지 않지만 작동합니다. 새로운 기능은 생산에 투입되고 소규모 QA로 테스트됩니다. 버그는 수정되었습니다. 그러나 저 외에는 단위 테스트를 작성하는 사람이 없습니다. 이 특별한 버그 (테스트 사례)가 다시는 발생하지 않도록 단위 테스트를 작성하여 "트래킹"기능을 사용하는 사람은 없습니다. …

18
평범한 코딩 과정에서 개발자가 방해받지 않아야하는 이유를 평신도에게 설명하는 방법은 무엇입니까? [닫은]
내 질문의 두 번째 부분 인 "코딩에서 개발자가 방해받지 않아야하는 이유"를 고려한다면, 그것은 똑똑한 사람들에 의해 여러 번 논의되었습니다. SO의 공동 창립자 인 Joel Spolsky도 "영역에 도달하기"와 "영역에 녹아웃"에 대한 블로그 게시물을 작성 했으며 단지에 참여할 때 생산성을 달성하는 데 평균 15 분이 걸리는 이유, 소프트웨어 개발 관련 작업. 그래서 …

12
C가 왜 '객체 지향'언어로 간주되지 않습니까?
C에는 객체로 간주 될 수있는 '구조체'와 같은 자체 준 객체가있는 것으로 보입니다 (일반적으로 생각하는 높은 수준의 방식으로). 또한 C 파일 자체는 기본적으로 별도의 "모듈"입니다. 그렇다면 모듈도 '객체'와 비슷하지 않습니까? C ++과 매우 유사한 C가 왜 저수준 "절차"언어로 간주되는지 C ++가 고수준 "객체 지향"인 이유에 대해 혼란스러워합니다. * 편집 : (설명) …

19
왜 TDD가 작동합니까? [닫은]
요즘 테스트 중심 개발 (TDD) 이 큽니다. 프로그래머 SE 및 기타 장소에서 광범위한 문제에 대한 솔루션으로 권장되는 경우가 많습니다. 왜 작동하는지 궁금합니다. 엔지니어링 관점에서 볼 때 두 가지 이유로 당황합니다. "쓰기 테스트 + 통과까지 리팩터링"접근 방식은 매우 반 엔지니어링합니다. 예를 들어 토목 기술자가 교량 건설 또는 자동차 설계를 위해이 접근 …
92 testing  tdd 

3
다른 사람이 작성할 수 있도록 구현되지 않은 코드라는 용어가 있습니까?
때로는 프로그래밍 연습, 상용구 생성, 주니어 프로그래머가 구현해야 할 작업에 가이드 레일을 배치하는 등의 경우 프로그래머에게 구현되지 않은 코드가 표시되고 "공백을 채우십시오"라는 메시지가 나타납니다. 예를 들어 컴파일 할 수는 있지만 실패하는 단위 테스트 또는 빈 메서드가있는 클래스 선언을 예로들 수 있습니다. 이 관행에 대한 일반적인 용어가 있습니까?

14
프로그램을 처음부터 완전히 다시 빌드했을 때 항상 기분이 좋아지지 않게하려면 어떻게해야합니까? [닫은]
나는 상당한 양의 코딩을 배웠지 만, 항상 과학적 환경 (컴퓨터 과학이 아님)에 있었고, 아무도 올바른 방향으로 나를 안내하지 않고 완전히 독학되었습니다. 따라서 코딩 과정이 지저분했습니다. 나는 어떤 유형의 프로그램을 만들 때마다 결국 훨씬 더 우아하고 효율적으로 수행 할 수 있었으며 앞으로 훨씬 더 유연하고 관리하기 쉬운 방법을 알게되었다. 어떤 상황에서는, …

15
단위 테스트를 가능하게하기 위해 처음부터 코드를 설계해야합니까?
현재 팀에서 단위 테스트를 허용하도록 코드 디자인을 수정하는 것이 코드 냄새인지, 또는 코드 냄새가 나지 않고 어느 정도까지 할 수 있는지에 대한 논쟁이 있습니다. 우리는 단지 다른 모든 소프트웨어 개발 회사에 존재하는 관행을 제자리에두기 시작했기 때문에 발생했습니다. 특히, 우리는 매우 얇은 웹 API 서비스를 갖게 될 것입니다. 주요 책임은 웹 …

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