소프트웨어 공학

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

15
크리에이티브 코딩에있어 나쁜 점은 무엇입니까? [닫은]
나는 Bob Ross가 오늘 밤에 "행복한 나무"를 그리는 것을보고 있었고 , 최근에 내 코드에 대해 스트레스를 받고있는 것이 무엇인지 알아 냈습니다. 여기와 스택 오버플로에있는 사람들의 커뮤니티는 불완전 함을 거부하는 것처럼 보입니다. 저의 목표는 저의 기술을 향상 시켜서 존경 할만한 (따라서 유지 보수가 가능하고 기능적인) 코드를 작성하는 것입니다. 그러나 나는 창의적으로 …

10
“사용 사례”,“사용자 사례”및“사용 시나리오”의 차이점은 무엇입니까?
"사용 사례", "사용자 사례"및 "사용 시나리오"의 차이점에 대한 정확하지만 간단하고 이해하기 쉬운 정의가 있습니까? 꽤 많은 설명이 있지만 지금은 한 문장 또는 두 문장의 차이점을 설명하는 사람이 없습니다 ... (예 : http://c2.com/cgi-bin/wiki?UserStoryAndUseCaseComparison 매우 길고 찾기 어려우며 토론으로 가득 함)

4
의존성 주입을위한 프레임 워크가 필요한 이유는 무엇입니까? [닫은]
나는 구현의 제어로서 Inversion of Control 원칙과 Dependency Injection에 대해 더 많이 읽었으며 그것을 이해하고 있다고 확신합니다. 기본적으로 '클래스 내에서 클래스 멤버의 인스턴스화를 선언하지 마십시오'라고 말하는 것 같습니다. 대신 인스턴스화를 생성자를 통해 전달하고 할당해야합니다. 외부 소스에서 클래스에 '주입'되었습니다. 이것이 단순한 것처럼 보인다면 왜 주석 또는 주석으로 이것을 구현하는 guice 또는 …

1
시맨틱 버전 관리는 API가없는 프로그램에 어떻게 적용됩니까?
에서 http://semver.org/ 이 변화 나누기 / API가 도입 수정하는 것이 경우 주 버전 수를 증가하는 것이 좋습니다 versioning-에 - 어떤 내 인식에서 가장 널리 사용되는 규칙이 될 것으로 보인다. 이 지침을 적용하는 방법을 보지 못하는 두 가지 관련 시나리오가 있습니다. 내 코드가 API를 제공하지 않으면 어떻게됩니까? 코드를 어떻게 버전 화해야합니까? …


6
큰 파일의 리팩토링을 처리하는 가장 좋은 방법은 무엇입니까?
나는 불행히도 소프트웨어 품질 지침이 항상 따르지 않는 일부 파일이있는 더 큰 프로젝트를 진행하고 있습니다. 여기에는 여러 가지 고유 한 기능이 포함 된 큰 파일 (2000-4000 줄 읽기)이 포함됩니다. 이제이 큰 파일을 여러 개의 작은 파일로 리팩토링하려고합니다. 문제는 이들이 너무 커서 여러 지점의 여러 사람 (포함)이이 파일을 작업하고 있다는 것입니다. …


13
Any () * not *이 null 참조 예외를 발생시킬 것으로 예상하는 것은 부당한가요?
확장 메소드를 만들 때 물론 호출 할 수 있습니다 null. 그러나 인스턴스 메소드 호출과 달리 null 호출 은 -> 던질 필요 가 없습니다 NullReferenceException-> 수동으로 확인하고 던질 필요가 없습니다. Linq 확장 방법의 구현을 위해 Any()Microsoft는 ArgumentNullException( https://github.com/dotnet/corefx/blob/master/src/System.Linq/src/System/Linq/AnyAll.cs )를 던져야한다고 결정했습니다 . 글을 써야 돼 if( myCollection != null && myCollection.Any() …

9
JS 부울에 사용자 정의 속성이 나쁜 습관입니까?
JS에서는 사용자 정의 속성이있는 부울을 반환 할 수 있습니다. 예 : Modernizr은 비디오 지원을 테스트 할 때 반환 true하거나 false반환 된 부울 (Bool은 JS의 첫 번째 클래스 개체)에 지원되는 형식을 지정하는 속성이 있습니다. 처음에는 조금 놀랐지 만 아이디어가 마음에 들기 시작했고 왜 그것이 조금만 사용되는 것 같습니까? 기본적으로 무언가가 참인지 …

5
스핀 락은 폴링과 어떻게 다릅니 까?
스핀 락과 폴링은 같은 것입니까? 위키 백과 : spinlock은 잠금을 사용할 수 있는지 반복적으로 확인하면서 스레드를 획득하려고 시도하는 스레드가 단순히 루프 ( "스핀")에서 대기하도록하는 잠금입니다. 이것은 다음과 같이 끔찍하게 들립니다. while(!ready); 나는 그것이 최적의 차선책 이었기 때문에 가능할 때마다 폴링을 피하도록 배웠다. 그렇다면 spinlock은 오래된 오래된 폴링의 멋진 이름입니까? 스핀 …
41 locks  kernel  polling 

6
데이터베이스에서 날짜를 문자열로 반환하지 않는 이유는 무엇입니까?
일반적인 웹 응용 프로그램에서 날짜는 강력하게 형식화 된 데이터베이스 계층에서 검색됩니다 (예 : c.에서는 System.DateTime과 반대로 System.String). 날짜를 문자열로 표현해야하는 경우 (예 : 페이지에 표시) DateTime에서 문자열로의 변환은 프리젠 테이션 계층에서 수행됩니다. 왜 이런거야? DateTime을 데이터베이스 계층의 문자열로 변환하는 것이 왜 나쁜가요? 또한 참조 채팅에서 뜨거운 논쟁 , 그리고 이 …

6
왜 "스프린트"라는 단어를 사용합니까?
애자일 선언문 의 창립 원칙 중 하나 는 민첩한 프로세스는 지속 가능한 개발을 촉진합니다. 스폰서, 개발자 및 사용자는 일정하게 일정한 속도를 유지할 수 있어야합니다. 스크럼 팀은 스프린트 라는 용어를 사용하여 작업주기 (반복이라고도 함)를 나타냅니다. 그러나 이것은 나에게 이해가되지 않습니다. 구글에 따르면 스프린트 는 다음과 같습니다. 짧은 거리에서 최고 속도로 작동합니다. …

7
응용 프로그램이 로컬로만 작업하는 경우 데이터베이스 서버 사용이 의미가 있습니까?
기본적으로 시스템에서 로컬로 실행되는 응용 프로그램 소프트웨어 인 일부 응용 프로그램을 보았습니다 (따라서 네트워크를 통해 많은 통신을하지 않음). 이러한 응용 프로그램은 데이터를 저장하기 위해 데이터베이스 서버에 의존하는 것 같습니다. 응용 프로그램의 예로는 Amarok (Linux에서 인기있는 음악 플레이어)가 있습니다. 나는 그들이 여전히 이것을하고 있는지 모르겠지만, Amarok을 설치한다는 것은 MySQL 서버를 설치하고 …

13
변수를 선언 할 때 왜 데이터 유형을 지정해야합니까?
대부분의 코딩 언어에서 (모두는 아님) 변수를 선언해야합니다. 예를 들어 C #에서 숫자 필드 인 경우 int PhoneNumber 나는 보통 영어를 사용하고 있다면 나는 선언 할 필요가 없습니다 PhoneNumber로 int사용할 수 있습니다. 예를 들어 친구 Sam에게 전화 번호를달라고 요청하면 다음과 같이 말합니다. "전화 번호주세요" 나는 말하지 않을 것이다 "Char (20) Sam은 …

13
임의의 낯선 사람으로부터 소스 코드를 컴파일하는 것이 얼마나 안전합니까? [닫은]
직업 지원자가 자신의 기술을 증명하기 위해 보내는 코드를 검토한다고 가정합니다. 분명히 그들이 보내는 실행 파일을 실행하고 싶지 않습니다. 명확하지는 않지만 코드 컴파일 결과를 실행하지는 않습니다 (예를 들어 Java는 주석에서 실행 가능한 코드를 숨길 수 있습니다 ). 코드를 컴파일하는 것은 어떻습니까? 컴파일러 경고가 필요하지만 코드에 컴파일러를 악용하는 영리한 문자 시퀀스가 ​​포함되어 …

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