소프트웨어 공학

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

9
생성자에서 while (true) 루프가 실제로 나쁜 이유는 무엇입니까?
일반적인 질문이지만 C ++과 같은 언어에는 생성자 실행, 메모리 관리, 정의되지 않은 동작 등과 관련하여 다른 의미가 있다는 것을 알고 있으므로 내 범위는 C #입니다. 누군가 나에게 쉽게 대답하지 못하는 흥미로운 질문을했다. 클래스의 생성자가 결코 끝나지 않는 루프 (예 : 게임 루프)를 시작하게하는 나쁜 디자인으로 간주되는 이유는 무엇입니까? 이것에 의해 …
47 c#  architecture 

8
함수 이름의 인수 이름을 더 일반적으로 인코딩하지 않는 이유는 무엇입니까? [닫은]
에서 청소 코드 저자의 예를 제공합니다 assertExpectedEqualsActual(expected, actual) vs assertEquals(expected, actual) 전자는 주장이 어디로 가고 어디에서 오용 될 가능성이 있는지 기억할 필요가 없기 때문에 더 명확하다고 주장했다. 그러나 나는 어떤 코드에서 이전의 명명 체계의 예를 보지 못했고 후자를 항상 볼 수 있습니다. 저자가 주장하는 것처럼 후자가 더 명확하다면 코더가 왜 …
47 clean-code 

9
요소의 배송 날짜가 "민첩한"작업 방식으로 고정되어 있습니까?
우리는 고위 경영진에 의해 새로운 프로젝트에 대해 민첩한 방식으로 작업 할 것이라고 계속 들었습니다. 그들은 스탠드 업, 스프린트 계획, 회고 등을 설정했습니다. 그러나 이제는 각 요소에 대해 날짜를 제공하고 각 요소에 대해 데모 할 날짜를 다시 보여주기 위해 원하는 모든 작업을 자세히 설명하는 계획을 세웠습니다. 하나. 이 계획은 2017 년 …

12
`goto '부두를 피하는가?
switch처리해야 할 몇 가지 사례 가있는 구조가 있습니다. 는 switch과도하게 작동 enum값 조합을 통해 중복 된 코드의 문제를 제기한다 : // All possible combinations of One - Eight. public enum ExampleEnum { One, Two, TwoOne, Three, ThreeOne, ThreeTwo, ThreeOneTwo, Four, FourOne, FourTwo, FourThree, FourOneTwo, FourOneThree, FourTwoThree, FourOneTwoThree // ETC. } …

4
"정지 처리"에 대한 HTTP 상태 코드
최종 처리를 위해 장기 실행 작업 큐를 지원하는 RESTful API를 작성 중입니다. 이 API의 일반적인 워크 플로우는 다음과 같습니다. 사용자가 양식을 채 웁니다 고객이 데이터를 API에 게시 API가 202를 반환 함 고객이 해당 요청에 대한 고유 URL로 사용자를 리디렉션합니다 ( /results/{request_id}) ~ 결국 ~ 클라이언트는 URL을 다시 방문하여 해당 페이지의 …
47 rest  http 

7
일관된 코드 스타일의 실제 가치는 무엇입니까
고객을위한 새로운 솔루션을 구현하는 컨설턴트 팀의 일원입니다. 나는 클라이언트 측 코드베이스 (React 및 javascript)에 대한 대부분의 코드 검토를 담당합니다. 일부 팀원은 고유 한 코딩 패턴을 사용하여 무작위로 파일을 골라서 스타일을 가진 사람을 누가 알 수 있는지 알 수있었습니다. 예 1 (일회성 인라인 함수) React.createClass({ render: function () { var someFunc …


7
중복 데이터베이스 열에 대해 어떻게 설득력있게 주장 할 수 있습니까?
나는 새로운 조직에서 일하기 시작했으며 데이터베이스에서 본 패턴 중 하나는 비즈니스 분석가가 쉽게 쿼리를 작성할 수 있도록 필드를 복제하고 있습니다. 우리는 Django와 ORM을 사용하고 있습니다. 어떤 경우 에는 특정 상황에서 환자를 식별하는 고유 한 문자열 로 MedicalRecordNumber 객체를 유지합니다 . 우리는이 등록 환자를 추적하고 관련이 객체 MedicalRecordNumbers을 , 오히려 외래 …

4
메소드가 여러 유형의 확인 된 예외를 처리하지 않아야하는 이유는 무엇입니까?
SonarQube를 사용하여 Java 코드를 분석하고이 규칙 (중요하게 설정 됨)이 있습니다. 공개 메소드는 최대 하나의 확인 된 예외를 처리해야합니다. 확인 된 예외를 사용하면 메소드 호출자가 오류를 전파하거나 처리하여 오류를 처리해야합니다. 이것은 예외를 메소드 API의 일부로 만듭니다. 호출자의 복잡성을 합리적으로 유지하기 위해 메소드는 여러 종류의 확인 된 예외를 발생시키지 않아야합니다. " Sonar의 …


4
추상 구문 트리는 정확히 어떻게 생성됩니까?
나는 AST의 목표를 이해하고 있다고 생각하며, 전에 몇 가지 트리 구조를 구축했지만 결코 AST는 아닙니다. 노드가 텍스트가 아니고 숫자가 아니기 때문에 혼란 스럽습니다. 그래서 코드를 파싱 할 때 토큰 / 문자열을 입력하는 좋은 방법을 생각할 수 없습니다. 예를 들어, AST의 다이어그램을 볼 때 변수와 값은 등호의 리프 노드였습니다. 이것은 나에게 …

8
예외 처리 메커니즘없이 현대 언어를 디자인해야하는 이유는 무엇입니까?
많은 현대 언어 는 풍부한 예외 처리 기능을 제공 하지만 Apple의 Swift 프로그래밍 언어 는 예외 처리 메커니즘을 제공하지 않습니다 . 내가 예외를 겪었을 때, 이것이 의미하는 바에 대해 마음을 감싸는 데 어려움을 겪고 있습니다. Swift에는 어설 션이 있으며 물론 반환 값이 있습니다. 그러나 나는 예외 기반 사고 방식이 예외없이 …

9
일반적으로 모든 기능 부분을 만들거나 UI를 먼저 작동시키는 것이 더 낫습니까?
일반적으로 모든 기능 부분을 만들거나 UI를 먼저 작동시키는 것이 더 낫습니까? 큰 무언가를 작업하고 있다고 가정하면 일반적으로 모든 기능적 데이터 수집 블롭을 UI보다 먼저 작동시키고 모든 UI를 한 번에 한 조각 씩 또는 중간에 작동시키는 것이 일반적으로 허용됩니까? 우리는 모두 관리 가능한 부분으로 작업을 분류하는 것을 알고 있지만 궁극적으로 UI가 …

1
go-langs goroutine pool은 단지 녹색 스레드입니까?
해설자는 여기에 녹색 스레드의 다음과 같은 비판을 제공합니다 : 콜백 지옥없이 이벤트 중심 프로그래밍을하는 수단으로 N : M 모델에서 처음 판매되었습니다. 오래된 절차 적 코드처럼 보이는 코드를 작성할 수 있지만 그 아래에는 무언가 차단 될 때마다 사용자 공간 작업 전환을 사용하는 마술이 있습니다. 잘 들린다. 문제는 더 복잡한 복잡성을 해결한다는 …

2
"때때로 오프라인"웹 앱에서 사용하기위한 고유하고 안전한 식별자 생성 전략
사용자가 온라인과 오프라인 모두에서 작업 할 수있는 웹 기반 프로젝트를 보유하고 있으며 클라이언트 측 레코드의 고유 ID를 생성하는 방법을 찾고 있습니다. 사용자가 오프라인 상태 (즉, 서버와 대화 할 수 없음)에서 작동하고 고유하며 안전하다는 접근 방식을 원합니다. "보안"을 통해 특히 고객이 중복 ID를 악의적으로 또는 다른 방식으로 제출하여 데이터 무결성에 혼란을 …

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