소프트웨어 공학

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

10
타사 라이브러리 사용-항상 래퍼를 사용합니까?
내가 참여한 대부분의 프로젝트는 여러 오픈 소스 구성 요소를 사용합니다. 일반적으로 코드의 모든 구성 요소를 타사 라이브러리에 바인딩하지 말고 캡슐화 래퍼를 사용하여 변경의 고통을 피하는 것이 좋습니다. 예를 들어, 대부분의 PHP 프로젝트는 log4php를 로깅 프레임 워크로 직접 사용합니다. 즉, \ Logger :: getLogger ()를 통해 인스턴스화하고-> info () 또는-> warn …

3
BSD의“비 보증 조항”이 좋은 생각이라면 사람들이 BSD보다 MIT 라이센스를 선택하는 이유는 무엇입니까? [닫은]
이 질문에 따르면 답글입니다. New BSD 라이센스의 "비 보증 조항"의 목적은 무엇입니까? 사람들이 원하지 않는 방식으로 사용자 이름을 사용하지 못하도록 MIT를 통해 BSD 라이센스를 선택하는 것이 더 똑똑해 보입니다. 이 경우 사람들이 왜 여전히 BSD 라이센스보다 MIT 라이센스를 선택합니까?

6
C #에서 유창하게 갈 때?
많은 측면에서 저는 Fluent 인터페이스의 아이디어를 정말 좋아하지만 C #의 모든 현대적인 기능 (초기화 기, 람다, 명명 된 매개 변수)을 사용하여 "그만한 가치가 있습니까?"라고 생각합니다. 사용하다?". 누구나 유창한 패턴을 사용할 때 자신의 경험이나 의사 결정 매트릭스를 받아 들일 수있는 연습이 아니라면 나에게 줄 수 있습니까? 결론: 지금까지 답변에서 얻은 좋은 …
78 c#  .net 

30
좋은 프로그래머가 되려면 수학에 능숙해야합니까? [닫은]
기존의 지혜는 훌륭한 프로그래머도 수학에 능숙하다는 것을 암시하는 것 같습니다. 또는 그 둘은 어떻게 든 본질적으로 연결되어 있습니다. 내가 읽은 많은 프로그래밍 서적은 수학 문제에 대한 솔루션이거나, 이러한 예제가 대부분의 사람들에게 적합한 것처럼 수학과 관련이있는 많은 예제를 제공합니다. 내가 떠 다니고 싶은 질문은 : 좋은 프로그래머 가 되려면 수학에 능숙 …
78 math 

17
코딩 가이드 라인 : 메소드는 7 개 이상의 명령문을 포함하지 않아야합니까?
나는 C #에 대한 AvSol 코딩 지침 을 살펴 보았고 거의 모든 것에 동의하지만 다른 특정 규칙에 대해 어떻게 생각하는지 궁금합니다. AV1500 방법이 7 개 진술을 초과해서는 안됩니다. 7 개 이상의 진술이 필요한 방법이 너무 많은 일을하거나 너무 많은 책임이 있습니다. 또한 인간의 마음이 정확한 진술을 분석하여 코드가 수행하는 작업을 …

11
Java 객체가 더 이상 참조되지 않은 즉시 삭제되지 않는 이유는 무엇입니까?
Java에서 오브젝트에 더 이상 참조가 없으면 즉시 삭제할 수 있지만 JVM은 오브젝트가 실제로 삭제되는시기를 결정합니다. Objective-C 용어를 사용하기 위해 모든 Java 참조는 본질적으로 "강하다". 그러나 Objective-C에서 객체에 더 이상 강력한 참조가 없으면 객체가 즉시 삭제됩니다. Java에서 왜 그렇지 않습니까?

6
모든 매직 넘버가 동일하게 만들어 집니까?
최근 프로젝트에, 나는 바이트로 변환하는 데 필요한 킬로바이트의 키비 바이트 . 코드는 간단했다 : var kBval = byteVal / 1024; 그것을 작성한 후, 나머지 기능이 작동하고 진행되었습니다. 그러나 나중에 코드에 마법 번호를 삽입했는지 궁금해하기 시작했습니다 . 내 일부는 숫자가 고정 상수이므로 쉽게 이해해야하기 때문에 괜찮다고 말합니다. 그러나 내 다른 부분은 …

7
코드 우선과 데이터베이스 우선
내가 작업하는 소프트웨어를 디자인하고 만들 때 일반적으로 백엔드 SQL 테이블을 먼저 디자인하고 만든 다음 실제 프로그래밍으로 넘어갑니다. 현재 작업중 인 프로젝트는 당황 스럽습니다. 이것은 아마도 견실하고 견고한 요구 사항이 부족하기 때문일 수 있지만 불행히도 이번에는 할 수있는 일이 거의 없습니다. 상황이 "그냥 일어 나라"고 ..하지만 난 틀렸다. 워크 플로를 뒤집어 …

12
JSON 데이터가 아닌 HTML을 반환하는 엔드 포인트에서 실제로 무엇이 문제입니까?
처음으로 PHP를 배우기 시작했을 때 (약 5-6 년 전) Ajax 에 대해 배웠고 "단계"를 밟았습니다. 서버는 HTML 데이터를 반환하고 DOM의 innerHTML에 넣습니다. XML과 같은 데이터 전송 형식에 대해 배우고 JSON을 사용합니다. 바닐라 JavaScript 코드를 사용하여 JSON을 반환하고 UI를 빌드합니다. jQuery로 이동 API, 헤더, HTTP 상태 코드, REST , CORS 및 …
77 design  ajax 

7
초기 및 후기 바인딩이란 무엇입니까?
나는 초기와 늦게 구속되는 것에 대해 계속 들었지만, 그것이 무엇인지 이해하지 못한다. 이해하지 못하는 다음 설명을 발견했습니다. 초기 바인딩은 디자인 타임 동안 변수에 값을 할당하는 것을 말하고, 늦은 바인딩은 런타임 동안 변수에 값을 할당하는 것을 말합니다. 누군가 두 가지 유형의 바인딩을 정의하고 비교할 수 있습니까?

11
소프트웨어 OS가 특정한 이유는 무엇입니까?
특정 운영 체제에서 프로그래밍 언어를 사용하여 제작 된 소프트웨어가 작동하는 이유에 대한 기술적 세부 정보를 확인하려고합니다. 바이너리는 그들이 이해하는 프로세서 특정 기계 언어와 다른 프로세서간에 다른 명령어 세트로 인해 특정 프로세서에 고유하다는 것을 이해합니다. 그러나 운영 체제 고유성은 어디에서 오는가? 나는 그것이 OS에서 제공하는 API라고 가정했지만 책 에서이 다이어그램을 보았습니다. …

11
테스트 목적으로 코드를 엄격하게 수정하는 것은 나쁜 습관입니까?
프로그래머 동료와 토론하여 작업 코드를 수정하여 테스트 할 수 있도록 (예 : 단위 테스트를 통해) 좋은지 나쁜지에 대한 토론이 있습니다. 제 생각에는 좋은 객체 지향 및 소프트웨어 엔지니어링 관행 ( "모든 것을 공개하는 것"등)을 유지하는 한도 내에서 괜찮다는 것입니다. 내 동료의 의견은 테스트 목적으로 만 코드를 수정하는 것이 잘못되었다는 것입니다. …

10
C 배열이 길이를 추적하지 않는 이유는 무엇입니까?
배열과 함께 배열의 길이를 명시 적으로 저장하지 않는 이유는 무엇입니까 C? 내가 보는 방식으로, 그렇게해야 할 압도적 인 이유 가 있지만 표준 (C89)을 지원하는 것은별로 많지 않습니다. 예를 들어 : 버퍼에 길이가 있으면 버퍼 오버런을 방지 할 수 있습니다. Java 스타일 arr.length은 명확하며 프로그래머 int가 여러 배열을 처리하는 경우 스택에서 …
77 c 


11
힘을 잃지 않고 읽을 수있는 정규식?
많은 프로그래머들은 빠른 정규 표현식을 내놓는 기쁨을 알고 있습니다. 요즘에는 종종 웹 서비스의 도움을 받거나보다 전통적인 대화식 프롬프트를 사용하거나 개발중인 정규 표현식이있는 작은 스크립트를 작성하고 테스트 사례를 수집하는 경우가 많습니다 . 어쨌든 프로세스는 반복적이고 상당히 빠릅니다. 암호처럼 보이는 문자열을 해킹하여 원하는 것을 일치시키고 캡처하고 원하지 않는 것을 거부합니다. 간단한 경우 …

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