소프트웨어 공학

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

12
.NET에서 지역화를위한 효과적인 전략 [닫기]
가까운 시일 내에 모든 콘텐츠를 국제화해야하는 .NET MVC 응용 프로그램 용 UI를 개발 중입니다. 나는 일반적으로 .NET에 대해 잘 알고 있지만 국제적인 접근성에 크게 중점을 둔 프로젝트는 없었습니다. 프로젝트는 처음에 영어로 진행됩니다. 향후 현지화를보다 쉽게 ​​구현하려면이 시점에서 어떤 조치를 취해야합니까?

11
(데이터베이스) 통합 테스트가 좋지 않습니까?
어떤 사람들 은 통합 테스트가 모든 종류의 나쁘고 잘못되었다고 주장합니다. 모든 것이 반드시 단위 테스트를 거쳐야합니다. 즉, 의존성을 조롱해야합니다. 여러 가지 이유로 항상 좋아하지 않는 옵션. 어떤 경우에는 단위 테스트가 단순히 아무것도 입증하지 못한다는 것을 알았습니다. 다음과 같은 (사소하고 순진한) 리포지토리 구현 (PHP)을 예로 들어 보겠습니다. class ProductRepository { private …

8
미국 정부가 안전한 프로젝트를 위해 동적 언어를 허용하지 않는 이유는 무엇입니까?
나는 현재 미군을위한 프로젝트 (낮은 보안 수준, 비 전략 인적 자원 유형 데이터)를 수행하고있는 사람들을 알고 있습니다. 프로젝트 코드의 초기 상태는 검토를 위해 군대에 제출되었으며 일종의 보안 분석기 도구를 통해 프로그램을 실행했습니다. 코드에 알려진 보안 문제와 최종 제품을 제공하기 전에 구현해야하는 변경 사항에 대한 보고서를 반환했습니다. 해결해야 할 항목 중 …

11
한 번만 호출되는 한 줄 함수
한 줄의 코드를 수행하고 프로그램에서 한 번만 호출 되는 매개 변수가없는 ( 편집 : 반드시 그런 것은 아님) 함수를 고려하십시오 (차후에 다시 필요하지는 않지만). 쿼리를 수행하고, 값을 확인하고, 정규 표현식과 관련된 작업을 수행 할 수 있습니다. 이에 대한 근거는 읽기 어려운 평가를 피하는 것입니다. if (getCondition()) { // do stuff …
120 functions 

21
과도하게 커밋하는 영업과 싸우는 방법이 있습니까? [닫은]
릴리스 날짜가 기술적 인 내용을 기준으로 설정되지 않았지만 영업 담당자가 그때까지 고객에게 약속했기 때문에 반복적으로 멈춰있는 것 같습니다. 다른 회사에서 개발중인 친구들과의 토론을 바탕으로 같은 일이 일어난 것 같습니다. "커밋 된 기능 세트가 있고 여기에 커밋 된 릴리스 날짜가 있습니다".이 시점에서 돈을 싣고 있기 때문에 논쟁하기가 어렵고 모든 것이 우선합니다. …

7
내 사무실은 무한 브랜치 병합을 정책으로 원합니다. 다른 옵션이 있습니까?
사무실에서 지점 분할 및 병합을 처리하는 방법을 파악하려고 노력하고 있으며 큰 문제가 발생했습니다. 우리의 문제는 장기간의 사이드 브랜치와 관련이 있습니다. 마스터와 분리 된 사이드 브랜치를 작업하는 몇 사람이 있고 몇 개월 동안 개발하고 마일스톤에 도달하면 두 가지를 동기화합니다. 이제 이것을 처리하는 자연스러운 방법 인 IMHO는 사이드 브랜치를 단일 커밋으로 스쿼시합니다. …

7
보다 강력한 공헌자가 망각에 빠지지 않도록하는 방법은 무엇입니까?
최근에 여기 에보고 된 바와 같이 : Xamarin은 2D / 3D 게임 개발 프레임 워크 인 Cocos2D-XNA를 분기하여 PCL 프로젝트에 포함될 수있는 크로스 플랫폼 라이브러리를 만들었습니다. 그러나 갈래 프로젝트의 설립자는 말합니다 : MIT 라이센스의 목적은 공정 사용을 방해하지 않는 것입니다. 소프트웨어를 사용하도록 권장하지 말고 자신의 소프트웨어로 브랜딩 한 다음 "새 …

11
JIT를 사용하는 C ++이 JVM 또는 CLR보다 빠를 수 있다는 주장을 뒷받침하는 것은 무엇입니까? [닫은]
SE에서 반복되는 주제는 많은 질문에서 C ++이 Java와 같은 고급 언어보다 더 빠르고 효율적이라는 지속적인 주장입니다. 반대 의견은 현대의 JVM 또는 CLR이 JIT 덕분에 효율성이 높아지고 점점 더 많은 작업을 수행 할 수 있으며 C ++ 은 현재 수행중인 작업과 특정 방식으로 일을하는 경우에만 훨씬 효율적이라는 것입니다 성능이 향상됩니다. 그것은 …
119 java  c++  performance  jit 

9
타기 엔 너무 어리 니? [닫은]
대학에 5 년 밖에 없는데도 화상을 입었습니다. 내 경력의 첫 3 년 동안 일이 정말 대단했습니다. 나는 학교에서 특별한 것이 없었지만 회사에서 특별하다고 느꼈습니다. 되돌아 보면, 나는 모든 올바른 움직임을했다는 것을 알 수 있었다. 나는 적극적으로 매일 나 자신을 향상 시키려고 노력했다. 나는 내가 할 수있는 사람을 돕겠다는 지적을했습니다. 나는 …
119 productivity 

8
의존성 주입의 비판과 단점
의존성 주입 (DI)은 잘 알려져 있고 세련된 패턴입니다. 대부분의 엔지니어는 다음과 같은 장점을 알고 있습니다. 단위 테스트에서 분리 가능 / 쉬움 클래스의 종속성을 명시 적으로 정의 우수한 설계 촉진 (예 : 단일 책임 원칙 (SRP)) 빠른 구현 구현 ( 예 : DbLogger대신 ConsoleLogger) 저는 DI가 훌륭하고 유용한 패턴이라는 업계 전반의 …

14
프로그래밍에서 기본 날짜 형식이 YYYYMMDD이고 다른 것이 아닌 기술적 이유가 있습니까?
왜 그런 엔지니어링 이유가 있습니까? RDBMS의 경우, "YEAR"가 "MONTH"보다 더 구체적이기 때문에 성능과 관련이 있다는 것이 궁금합니다. 예를 들어 2000 년은 1 년이지만 매년 "January"는 연도별로 무언가를 필터링 / 정렬하기가 더 쉽고 빠르기 때문에 연도가 가장 먼저 나옵니다. 그러나 그것이 정말로 의미가 있는지 모르겠습니다 ... 전혀 이유가 있습니까?

18
소스 제어에 대한 첫 번째 커밋은 언제해야합니까?
프로젝트가 소스 제어에 처음 커밋하기에 충분한 지 확신 할 수 없습니다. 나는 프로젝트가 '프레임 워크 완료'가 될 때까지 커밋을 미루는 경향이 있으며, 그 때부터는 주로 기능을 커밋합니다. (핵심 프레임 워크가 너무 클 수있는 개인 프로젝트를 수행하지 않았습니다.) 이것이 잘못 될 수 있는지 잘 모르겠지만 이것이 최선의 방법은 아니라고 생각합니다. 예를 …

14
대부분의 프로그래밍 언어가 함수에서 단일 값 반환 만 지원하는 이유는 무엇입니까? [닫은]
대부분의 (?) 프로그래밍 언어의 함수가 여러 입력 매개 변수를 지원하지만 하나의 반환 값만 지원하도록 설계된 이유가 있습니까? 대부분의 언어에서 매개 변수를 사용하거나 포인터를 반환하거나 구조체 / 클래스를 정의 / 반환하여 이러한 제한을 "해결"할 수 있습니다. 그러나 프로그래밍 언어가 여러 개의 리턴 값을보다 "자연적인"방식으로 지원하도록 설계되지 않은 것은 이상하게 보입니다. 이에 …

11
오류 처리를 수행하는 현대적인 방법…
나는이 문제를 잠시 동안 숙고하고 있으며 끊임없이 경고와 모순을 발견하고 있기 때문에 누군가 다음과 같은 결론을 내릴 수 있기를 바랍니다. 오류 코드보다 예외를 선호 내가 아는 한, 업계에서 4 년간 일하면서 책과 블로그를 읽는 등 오류를 처리하는 가장 좋은 방법은 오류 코드 (반드시 오류 코드가 아니라 반드시 오류를 나타내는 유형). …

16
참조되지 않은 코드를 제거해야합니까?
나는 중간 크기 (100k 라인) 코드베이스에서 일하고 있는데, 모두 비교적 최근 코드 (1 년 미만)이며 단위 테스트 적용 범위가 좋습니다. 더 이상 어디서나 사용되지 않거나 특정 방법 만 테스트하는 단위 테스트에서만 참조되는 방법을 계속 사용합니다. 더 이상 필요하지 않은 경우이 코드를 제거해야합니까? 제거 이유 : 적은 코드, 적은 버그 적은 …

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