소프트웨어 공학

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

27
소스 코드 생성은 안티 패턴입니까?
무언가를 생성 할 수 있다면 코드가 아닌 데이터입니다. 그렇다면 소스 코드 생성에 대한이 전체 아이디어가 오해가 아닙니까? 즉, 무언가를위한 코드 생성기가 있다면, 필요한 매개 변수를 수신하고 "생성 된"코드가 수행 한 올바른 조치를 수행 할 수있는 적절한 함수로 만들 수있는 이유는 무엇입니까? 성능상의 이유로 수행되면 컴파일러의 단점처럼 들립니다. 두 언어를 연결하기 …

5
솔로 개발자로 분기를 사용하면 어떤 이점이 있습니까?
우선, 솔로 개발자로서 VCS에 대해 많은 질문을 받았지만 종종 너무 광범위하다는 것을 알고 있습니다. 이것은 분기에만 관련이 있으며 여전히 중복으로 표시되었습니다 ... 중복은 너무 광범위하고 구체적으로 분기와 관련이없는 다른 질문의 또 다른 복제로 표시됩니다. 그게 내 질문의 독창적 인 방법입니다. 솔로 개발자로 분기를 사용하면 어떤 이점이 있습니까? 나는 종종 솔로 …


15
LISP는 오늘날에도 여전히 유용합니까? 어떤 버전이 가장 많이 사용됩니까?
정기적으로 새로운 프로그래밍 언어를 가르치려고 노력합니다. 최근에 Lisp와 그 방언이 C / C ++와 같은 언어의 스펙트럼과 완전히 반대되는 방식을 읽었습니다. 그러나 두 가지가 분명하지 않으며 그에 대한 지침을 찾고 있습니다. LISP는 오늘날의 세계에서 여전히 사용 / 사용되고 있습니까, 아니면 FORTRAN / COBOL과 같은 레거시 언어입니까? 기존 코드를 유지하는 것 …

8
공백 뒤에 왜 큰 문제가 발생합니까? [닫은]
후행 공백은 Emacs와 같은 편집기가 강조 표시하거나 자동으로 제거하는 특수 기능을 가지고 있으며 많은 코딩 표준에서 모든 인스턴스를 제거해야하는 프로그래머에게는 문제가됩니다. 나는 왜 그런지 완전히 확신하지 못한다. 불필요한 공백을 피하는 한 가지 실질적인 이유를 생각할 수 있습니다. 사람이 피하지 않도록주의하지 않으면 커밋 사이에서 변경 될 수 있으며 누군가가 제거되었거나 공간을 …

8
코드 검토를 위해 제출 된 코드가 너무 복잡해 보이는 경우 어떻게해야합니까?
코드는 따르기가 어렵지만 적어도 피상적 인 테스트에서는 (대부분) 잘 작동하는 것으로 보입니다. 여기 저기에 작은 버그가있을 수 있지만 더 깊은 문제 또는 간단한 수정의 증상이 있는지 코드를 읽고 말하기가 매우 어렵습니다. 그러나 코드 검토를 통해 전체 정확성을 수동으로 확인하는 것은 가능하다면 매우 어렵고 시간이 많이 걸립니다. 이 상황에서 가장 좋은 …
115 code-reviews 

6
"비즈니스 로직"이란 무엇입니까?
PHP로 시작한 2009 년부터 웹 개발을하고 있습니다. ASP.NET으로 옮길 때이 "비즈니스 로직"과 "비즈니스 규칙"에 중점을 둔 DDD와 OOAD에 대해 많이 들었습니다. 요점은 지금까지 개발 한 모든 앱이 CRUD 작업에 관한 것이며 실제로는 이런 것을 본 적이 없다는 것입니다. 나는 실제로 그 것들이 실제로 무엇을 할 수 있는지 상상할 수 없습니다. …

5
이러한 비교에서 Swift가 Objective-C보다 훨씬 빠를 수있는 방법은 무엇입니까?
Apple은 WWDC14 에서 새로운 프로그래밍 언어 인 Swift 를 출시했습니다 . 프레젠테이션에서는 Objective-C와 Python간에 성능을 비교했습니다. 다음은 슬라이드 중 하나의 그림이며, 복잡한 객체 정렬을 수행하는 세 가지 언어를 비교 한 것입니다. RC4 암호화 알고리즘을 사용한 성능 비교에 대한 훨씬 더 놀라운 그래프가있었습니다 . 분명히 이것은 마케팅 강연이며, 이것이 각각 어떻게 …

2
파일 인코딩을 감지하는 방법?
내 파일 시스템 (Windows 7)에 텍스트 파일이 있습니다 (중요한 경우 SQL 스크립트 파일입니다). Notepad ++로 열면 "인코딩"메뉴에서 일부는 "UCS-2 Little Endian"으로 인코딩되고 일부는 "UTF-8없는 BOM"으로 인코딩됩니다. 차이점은 무엇입니까? 그것들은 모두 완벽하게 유효한 스크립트 인 것 같습니다. 메모장 ++없이 파일에 어떤 인코딩이 있는지 어떻게 알 수 있습니까?

17
누군가의 커밋으로 인해 회귀가 발생했다고 말해야합니까?
이전 작업 코드가 작동을 멈추게하는 버그 인 회귀를 추적하고 수정하면 버전 제어를 통해 변경 사항을 적용한 사람을 찾을 수 있습니다. 이것을 할 가치가 있습니까? 커밋 한 사람에게 이것을 지적하는 것이 건설적인가? 실수의 본질 (변경된 코드에 대한 기본적인 오해에 대한 단순한 부주의의 규모)이 좋은 생각인지 아닌지 변화합니까? 그들에게 말을하는 것이 좋은 …

20
“바퀴를 재발 명하지 마십시오”라는 문구가 학생에게 적합합니까?
나는 SO에 대해 몇 가지 질문을 할 때 "바퀴를 재발 명하지 마십시오"또는 "바퀴를 재발 명하지 마십시오"라는 표현을 끊임없이 발견합니다. 일부 프레임 워크 또는 기존 패키지를 사용하도록 지시합니다. 다른 사람들이 이미 해결 한 것에 시간을 낭비하는 것이 현명하지 않기 때문에이 태도가 어디에서 오는지 알고 있습니다. 아니면 그렇게? 학생으로서, 나는 다른 사람이 …

14
왜 0이 거짓입니까?
이 질문은 멍청하게 들릴지 모르지만, 0평가 false및 기타 [정수] 값 true이 대부분의 프로그래밍 언어에 대한 이유는 무엇입니까? 문자열 비교 질문이 너무 간단 해 보이기 때문에 좀 더 설명해 드리겠습니다. 무엇보다도 프로그래머에게 분명해 보일 수 있지만 프로그래밍 언어가없는 이유는 무엇입니까? 나는 어디에서 0평가 true하고 다른 모든 [정수] 값을 false? 그 말은 …

8
많은 프로그래머들이 왜 코드를 github으로 옮기고 있습니까?
지난 6 개월 이상 동안 나는 sourceforge.net에서 호스팅되는 많은 코드와 다른 호스팅 사이트 "Move to GitHub"를 보았습니다. 'Github로 이동'이라는 문구가 포함 된 Google 검색은 github으로 이동 한 텍스트가 포함 된 여러 결과를 반환합니다. 이것은 매우 혼란스럽고 왜 사람들이 정확하게 움직이고 있는지 궁금합니다. GitHub가 더 좋거나 내가 보지 못하는 특별한 이점이 …

12
하나의 제품 또는 소프트웨어를 개발할 때 여러 프로그래밍 언어가 사용되는 이유는 무엇입니까?
저는 컴퓨터 공학 석사 학위를 시작하려는 최근 졸업생입니다. 나는 정말로 흥미를 유발하는 여러 가지 오픈 소스 프로젝트를 접하고 그 프로젝트에 기여하도록 장려했습니다 (CloudStack, OpenStack, moby 및 Kubernetes). 내가 찾은 것 중 하나는 Java + Python + Go 또는 Python + C ++ + Ruby와 같은 여러 프로그래밍 언어를 사용한다는 것입니다. …

11
함수가 수용해야하는 매개 변수 수에 대한 지침이 있습니까?
내가 사용하는 몇 가지 함수에는 6 개 이상의 매개 변수가 있지만 대부분의 라이브러리에서는 3 개 이상의 함수를 찾는 것이 거의 없습니다. 이러한 많은 추가 매개 변수는 종종 함수 동작을 변경하기위한 이진 옵션입니다. 나는이 매개 변수가없는 함수 중 일부는 리팩토링되어야한다고 생각합니다. 너무 많은 숫자에 대한 지침이 있습니까?

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