소프트웨어 공학

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

11
“goto”진술로 어떤 종류의 버그가 발생합니까? 역사적으로 중요한 예가 있습니까?
루프에 중첩 된 루프를 없애기 위해 저장한다는 것을 이해합니다. 이 goto문장은 사용되지 않는 버그가 발생하기 쉬운 프로그래밍 스타일로 회피되고 비난됩니다. 대체 텍스트 : "Neal Stephenson은 자신의 레이블 이름을 'dengo'라고 생각하는 것이 귀엽다고 생각합니다 . " : http://xkcd.com/292/ 내가 이것을 일찍 배웠기 때문에; goto실제로 어떤 유형의 버그가 실제로 발생하는지에 대한 통찰력이나 …

17
Scrum은 활동적인 개발자를 수동 개발자로 전환합니까?
저는 세 명의 개발자와 한 명의 디자이너로 구성된 팀에서 일하는 웹 개발자입니다. 이제 민첩한 스크럼 소프트웨어 개발 방법론을 구현 한 지 약 5 개월이되었습니다. 하지만이 사이트에서 공유하고 싶었던 이상한 느낌이 듭니다. 인간의 삶에서 중요한 요소 중 하나는 의사 결정 과정입니다. 그러나 의사 결정에는 큰 차이가 있습니다. 일부 결정은 내부 또는 …

17
취미 프로젝트의 중요성 [닫힘]
여가 시간에 프로그램하는 것이 얼마나 중요한지 알고 싶습니다. 더 좋은 프로그래머가 되려면 9-5를 프로그래머로 일한 다음 집에 가서 취미 생활을해야합니까? 이것은 당신이 프로그래밍에 의한 프로그래밍에 대해서만 더 잘한다는 것을 알고 있습니다. 유망 고용주는 인터뷰에서 취미 프로그래밍을 고려합니까? 아니면 호기심으로 이것을 요구합니까? 나는 취미 프로젝트를하지 않은 것에 대해 죄책감을 느낀다. 그러나 …
103 skills 


11
(왜) 단위 테스트가 종속성을 테스트하지 않는 것이 중요합니까?
나는 자동화 된 테스트의 가치를 이해하고 문제가 잘 구체화되어있는 곳이면 어디에서나 좋은 테스트 사례를 만들 수있을 때 사용합니다. 그러나 여기 및 StackOverflow의 일부 사람들 은 종속 장치가 아닌 단위 테스트 만 강조 합니다. 나는 이점을 보지 못했다. 테스트 종속성을 피하기 위해 조롱 / 스터 빙하면 테스트가 복잡해집니다. 조롱을 지원하기 위해 …

10
내 동료 모두가 그것을 이해하지는 않지만 메타 프로그래밍을 사용해도 괜찮습니까?
반복적 인 작업을 피하고보다 안전한 추상화를 구축하기 위해 많은 메타 프로그래밍을 사용합니다. 나는 최근에 더 큰 팀에서 일하고있는 새로운 직장으로 옮겼는데, 이해하지 못하는 동료들도 걱정하고 있습니다. 나는 항상 언어의 잠재력을 최대한 활용하려고 노력하지만, 동료의 일부 (전부는 아님)가 위험으로 인식합니다 (일부는 환영합니다). 팀의 다른 누구도 이해할 수없는 코드를 작성하는 것이 문제라는 …

10
직장에서 설정된 규칙을 따르기 위해 나쁜 코딩 스타일을 따라야합니까?
나는 약 1 년 동안 직장에서 일했습니다. 나는 주로 C 백엔드의 메소드를 사용하는 GUI 인터페이스에서 작업하지만 일반적으로 반환 값을 제외하고는 처리 할 필요가 없습니다. 우리의 GUI는 우리의 한계를 감안할 때 상당히 합리적으로 구성됩니다. 프로그램의 명령 줄 부분에 기능을 추가하는 작업을했습니다. 이러한 기능의 대부분은 300 줄 길이이며 사용하기가 어렵습니다. 특정 알람 …

12
프로젝트간에 작은 코드 스 니펫을 공유하기위한 우수 사례
나는 항상 직장에서 DRY 원칙 을 따르려고 노력합니다 . 게으름에서 코드를 반복 할 때마다 나중에 두 위치에서 해당 코드를 유지해야 할 때 물립니다. 그러나 종종 서로 참조 할 수없는 두 프로젝트에서 재사용 해야하는 작은 방법 (어쩌면 10-15 줄의 코드)을 작성합니다 . 이 방법은 네트워킹 / 문자열 / MVVM 등과 관련이있을 …

16
프로그래머가 프로그래밍에 대한 열정이있는 경우 인터뷰에서 어떻게 알 수 있습니까? [닫은]
대부분의 인터뷰 질문은 후보자에 대한 현재의 지식에 중점을 두거나 알고리즘 문제를 해결하기 위해 자신의 기술을 확인하는 동안 프로그래밍에 관심이있는 개발자를 고용하고 싶습니다. 다음과 같은 질문을하는 대신 기술 "X"에 대해 무엇을 알고 있습니까? 소프트웨어 엔지니어링 문제 해결과 직접 관련이없는 지식을 확인하지만 IT에 대한 귀하의 관심을 보여줍니다. 예를 들어 Java 개발자를 찾는 …
102 interview 

14
간결함이 더 이상 미덕이 아닌 시점은 무엇입니까?
최근 버그 수정으로 인해 다른 팀 구성원이 작성한 코드를 살펴 보았습니다.이 코드는 C #입니다. return (decimal)CostIn > 0 && CostOut > 0 ? (((decimal)CostOut - (decimal)CostIn) / (decimal)CostOut) * 100 : 0; 이제는 모든 캐스트에 대한 합당한 이유가 있으므로 여전히 따르기가 매우 어렵습니다. 계산에 사소한 버그가 있었고 문제를 해결하기 위해 …

21
디버거 사용을 피하면 어떤 이점이 있습니까?
경력을 쌓은 동안 일부 개발자는 디버깅 도구를 사용하지 않지만 문제가 무엇인지 파악하기 위해 잘못된 코드를 검사합니다. 디버거없이 코드에서 빠르게 오류를 찾을 수있는 것은 좋은 기술이지만, 디버거가 오타와 같은 작은 실수를 쉽게 찾을 수있을 때 문제를 찾는 데 많은 시간을 소비하는 것이 비생산적인 것 같습니다. 디버거없이 컴플렉스를 관리 할 수 ​​있습니까? …
101 debugging 

11
“바퀴 재개발”과 반대되는 반 패턴의 이름은 무엇입니까? [닫은]
" 바퀴를 재창조 "하는 반 패턴은 매우 일반적인 것입니다. 준비된 솔루션을 사용하는 대신 처음부터 직접 작성하십시오. 코드베이스는 불필요하게 성장하지만 약간 다른 인터페이스는 동일하지만 약간 다른 방식으로 커지 므로 쉽게 사용할 수있는 함수를 작성 (및 디버그!)하는 데 시간이 낭비됩니다. 우리는 모두 이것을 알고 있습니다. 그러나 스펙트럼의 반대쪽 끝에 무언가가 있습니다. 두 …


3
데이터베이스 연결 작성-한 번 또는 각 쿼리마다 수행됩니까?
현재 웹 페이지가 처음로드 될 때 데이터베이스 연결을 만듭니다. 그런 다음 페이지를 처리하고 해당 연결에 대해 모든 쿼리를 실행합니다. 이것이 최선의 방법입니까, 아니면 쿼리를 실행할 때마다 데이터베이스 연결을 만들어야합니까? 추신 : 하나의 연결을 만들어서 사용하는 것이 더 합리적이지만 이것이 다른 문제를 일으킬 수 있는지 모르겠습니다. MSSQL과 함께 C # (ASP.NET)을 …
101 c#  database  sql-server 

7
한 줄에 변수를 선언하고 다음 줄에 변수를 할당하는 이유는 무엇입니까?
나는 종종 C 및 C ++ 코드에서 다음과 같은 규칙을 봅니다. some_type val; val = something; some_type *ptr = NULL; ptr = &something_else; 대신에 some_type val = something; some_type *ptr = &something_else; 처음에는 이것이 범위의 맨 위에 모든 지역 변수를 선언해야했던 시절부터 남은 습관이라고 가정했습니다. 그러나 나는 베테랑 개발자의 습관을 …
101 c++  c 

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