소프트웨어 공학

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

2
의존성 주입이 너무 많습니까?
말 그대로 클래스의 종속성 인 모든 것에 대해 (Spring) Dependency Injection을 사용하는 프로젝트에서 작업합니다. 우리는 Spring 설정 파일이 약 4000 줄로 성장한 시점에 있습니다. 얼마 전 나는 YouTube에서 Bob Uncle의 대화 중 하나를 보았습니다 (불행히도 링크를 찾을 수 없었습니다). 분배된다. 이 접근법의 장점은 DI 프레임 워크를 응용 프로그램의 대부분에서 분리하는 …

3
열거 형 데이터 형식을 사용하는 대신 새 데이터베이스 테이블을 만드는 것이 낭비입니까?
내가 제공하는 4 가지 유형의 서비스가 있다고 가정합니다 (빈번히 변경되지는 않음). 테스팅 디자인 프로그램 작성 다른 각각 위의 범주 중 하나에 해당하는 60-80 개의 실제 서비스가 있다고 가정합니다. 예를 들어, "서비스"는 "기술 A를 사용한 테스트 프로그램"일 수 있으며 "테스트 중"유형입니다. 데이터베이스로 인코딩하고 싶습니다. 몇 가지 옵션을 생각해 냈습니다. 옵션 0 …

6
긴 컴파일은 과거의 일입니까?
컴파일에 걸리는 시간에 대한 수많은 전쟁 이야기가 있습니다. xkcd 조차도 언급했습니다. 이제는 오랫동안 프로그래밍하지 않았으며 대부분 Java와 Python에 노출되었습니다 (Python은 컴파일 된 언어가 아닌 해석 된 언어입니다). 컴파일하는 데 시간이 오래 걸리는 프로젝트를 보지 못했을 수도 있지만 적절한 크기의 앱조차도 즉각적으로 (일반적으로 IDE에서 백그라운드에서 처리) 또는 30을 넘지 않는 것으로 …

4
클래스 메소드 정의를 주문하는 가장 인간 친화적 인 방법?
주어진 클래스 정의에서 나는 알파벳순, 가장 일반적인 사용법에 따른 시간순, 가시성에 따라 알파벳순, 게터와 세터에 알파벳순으로 그룹화되는 등 다양한 방법으로 순서가 정의 된 것을 보았습니다. 나는 모든 것을 입력 한 다음 전체 수업을 다 마치면 순서를 바꾸는 경향이 있습니다. 그 메모에 세 가지 질문이 있습니다. 주문이 중요합니까? "최상의"주문이 있습니까? 나는 …


5
여러 번 적용 할 수 있고 초기 응용 프로그램 이후로 상태를 변경하지 않는 작업에 대한 단어는 무엇입니까?
나는 단어를 기억하려고 노력하고 있는데, 그것이 계산 또는 데이터베이스 이론과 관련이 있다고 생각 합니다. 가장 가까운 동의어는 atomic정확히 그렇지 않습니다. 기본적으로 그것은 여러 번 연속으로 실행될 때에도 동일한 결과를 생성하는 일종의 계산입니다. 즉, 부작용을 일으키지 않습니다. chmod 명령 (또는 다른 권한 관련 작업)에 대한 Stack Overflow 답변 에서이 단어를 구체적으로 …

8
'추상 계층'과 '간접 수준'의 차이점은 무엇입니까?
두 용어를 서로 바꿔서 사용할 수 있는지 확실하지 않습니다. 컴퓨터 과학에있어서 일상적인 프로그래밍과 관련이없는 학문적 인 차이가있을 수 있습니다. 아니면 잘못없이 두 용어를 서로 바꿔서 사용할 수 있습니까? 어쩌면 그것은 두 용어를 사용하는 맥락에 달려 있습니까? 편집 : 두 용어가 상호 교환 가능하다는 것을 알 수있는 이유 는 추상화 계층에 …

4
어설 션을 사용하고 예외를 던지나요?
종종 함수를 작성할 때 가능한 한 빨리 그러한 오류를 감지하기 위해 입력이 유효한지 확인하고 싶습니다 (사전 조건이라고 부릅니다). 전제 조건이 실패하면 항상 예외가 발생했습니다. 그러나 이것이 최선의 방법인지 아닌지에 대한 의문이 제기되고 있습니다. 따라서 언제해야합니까 : 어설 션을 사용하는 것이 적절한시기와 예외를 던지는 것이 적절한시기는 언제입니까?

5
에디터의 어두운 색 구성표가 왜 그렇게 인기가 있습니까? [닫은]
오늘날 거의 모든 사람들이 코드 편집기에서 어두운 색 구성표를 사용하고 있습니다. 밝은 배경은 어두운 배경입니다. 대부분의 웹 기반 편집기 (예 : Github)에서도 어두운 색 구성표가 있습니다. 나는 솔직히 이점을 보지 못합니다. 밝은 배경에서 어두운 텍스트를 읽을 때 사람의 눈이 훨씬 좋습니다. 또한 밝은 흰색 환경에서는 검정색 바탕에 흰색 색 구성표가 …

5
함수형 프로그래밍의 맥락에서 빈혈 모델에 대해 말하는 것이 여전히 유효합니까?
대부분의 DDD 전술 디자인 패턴은 객체 지향 패러다임에 속하며 빈혈 모델은 모든 비즈니스 로직이 객체가 아닌 서비스에 배치되어 상황을 일종의 DTO로 만드는 상황을 설명합니다. 즉, 빈혈 모델은 절차 적 스타일의 동의어이며 복잡한 모델에는 권장되지 않습니다. 순수한 함수형 프로그래밍에 익숙하지는 않지만 DDD가 FP 패러다임에 어떻게 적용되는지, 그리고 그 경우 '애 네임 …

7
응용 프로그램 구성을 저장하는 기본 방법은 무엇입니까?
대부분의 경우 개발 응용 프로그램 구성을 프로젝트의 루트 디렉토리에 다음과 같이 저장합니다. app |-- config.json 그러나이 구성은 버전 제어 시스템에 저장되어 사용자 이름, 암호 및 기타 민감한 정보가 유출 될 수 있으므로 최선의 방법은 아닙니다. 12 Factor App 안내서는 구성 파일을 모두 삭제하고 구성 설정에 환경 변수를 사용하도록 권장합니다. ... …

7
알려진 결함에 대한 단위 테스트를 받아야합니까?
내 코드에 알려진 결함이 포함되어 있지만 아직 수정되지 않았으며 현재 릴리스에서 수정되지 않고 향후에 수정되지 않을 수 있습니다. 해당 버그에 대한 단위 테스트에 실패한 경우 테스트 스위트? 단위 테스트를 추가하면 (분명히) 실패하고 실패한 테스트에 익숙해지는 것은 나쁜 생각처럼 보입니다. 반면에, 알려진 결함이고 알려진 실패 사례가있는 경우, 어느 시점에서 수정되어야하고 이미 …
37 unit-testing  tdd 



8
회사 내에서 내부 API 키를 공유하지 않도록하려면 어떻게해야합니까?
새로운 서비스를 개발 중입니다.이 서비스는 사용자 장치의 응용 프로그램에서 직접 호출 될 수 있습니다. 이러한 응용 프로그램은 우리가 제공하는 데이터에 따라 모든 조직의 여러 개발 팀에서 개발하고 지원합니다. 우리는 어떤 애플리케이션이 어떤 요청을 보내고 있는지 식별하여 사용 패턴과 책임 개발자를 식별 할 수 있도록 노력하고 있습니다. (의심을 피하기 위해 사용자 …

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