소프트웨어 공학

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

11
단위 테스트에서 내 방법을 사용해야합니까?
오늘 나는 " JUnit basics"비디오를 보고 있었고 저자는 프로그램에서 주어진 메소드를 테스트 할 때 프로세스에서 다른 메소드를 사용해서는 안된다고 말했다. 보다 구체적으로 말하면 인수의 이름과 성을 사용하는 레코드 작성 방법을 테스트하고 주어진 테이블에서 레코드를 작성하는 데 사용했습니다. 그러나 그는이 방법을 테스트하는 과정에서 다른 DAO 방법을 사용하여 데이터베이스를 쿼리하여 최종 결과를 …

9
클린 코드 주석과 클래스 문서
의견에 관해 새로운 동료들과 토론을하고 있습니다. 우리는 Clean Code를 좋아 하고 인라인 코드 주석을 피하고 클래스와 메소드 이름을 사용하여 수행하는 것을 표현해야한다는 사실에 완벽하게 만족합니다. 그러나 저는 수업의 목적과 실제로 나타내는 것을 설명하는 작은 수업 요약을 추가하는 것을 좋아합니다. 주로 단일 책임 원칙 패턴 을 유지하기가 쉽습니다 . 또한 메소드가 …

11
DRY는 소프트웨어 프로젝트 관리의 적입니까?
가장 기본적이고 널리 인정되는 소프트웨어 개발 원칙 중 하나는 DRY입니다 (반복하지 마십시오). 또한 대부분의 소프트웨어 프로젝트에는 어떤 종류의 관리가 필요합니다. 이제 관리하기 쉬운 작업 (예상, 일정, 제어)은 무엇입니까? 올바른 반복 작업, DRY에 따라 피해야 할 작업. 따라서 프로젝트 관리 관점에서 기존 코드를 100 번 복사하여 작업을 해결하고 필요에 따라 각 …

22
개발자는 최신 기술을 유지할 수있는 시간을 어떻게 찾습니까? [닫은]
2004 년경까지 관리 웹 사이트를 시작한 프리랜서 웹 개발자 였지만 다시 개발 (특히 JavaScript 및 HTML5 웹 / 모바일 웹 앱)을 다시 시도하기로 결정했고 정말 인상을 받았습니다. 이러한 기술과 유사한 빠르게 변화하는 기술은 새로운 기술을 배우는 것 외에도 기존 기술을 향상시키는 데 투자하기 위해 일정한 시간이 필요합니다. 나는 꽤 가파른 …

15
기술 인터뷰 중에 얼마나 많은 도움을 주어야합니까? [닫은]
많은 기술 인터뷰 중에 공연을하거나 앉으라는 요청을 받았습니다. 인터뷰 대상자가 종이로 해결할 수있는 논리적 인 질문과 간단한 프로그래밍 문제를 묻습니다. (단지 키보드에 액세스 할 수는 있지만 다른 시간에는 문제가됩니다.) 때때로 사람들은 문제에 접근하는 방법을 알고 있지만 긴장이나 질문에 대한 두 번째 추측에 매달려 있습니다 ( 그들은 트릭 질문이 아닙니다.) 상사가 …
83 interview 

1
Unlicense에 어떤 문제가 있습니까?
나는 공공 장소에 물건을 넣는 것과 관련된 문제 때문에 라이센스를 사용해서는 안된다는 말을 자주 들었습니다 . 그러나 이것이 왜 라이센스가없는 문제인지 이해하지 못합니다. Unlicense는 라이센스가없는 모든 것을 퍼블릭 도메인에 넣으려고 시도합니다. 그러나 Unlicense의 저자는 퍼블릭 도메인에 무언가를 넣는 것이 그렇게 간단하지 않으며 심지어 불가능할 수도 있다는 것을 이해하고 있습니다. 라이센스가없는 …
83 licensing  legal 

9
코드를 작성할 수는 있지만 잘 디자인 할 수는 없습니다. 어떤 제안? [닫은]
나는 비트와 조각으로 코드를 작성하는 데 능숙하다고 생각하지만 내 디자인은 정말 짜증납니다. 문제는 디자인을 어떻게 개선하고 더 나은 디자이너가 되는가입니다. 학교와 대학은 수학적 문제 해결에 능숙 해지는 방법을 사람들에게 가르치는 데 많은 도움이되지만 학교에서 만든 대부분의 응용 프로그램은 일반적으로 약 1000-2000 줄 정도의 길이라는 사실을 인정합니다. 실제 소프트웨어의 복잡성은 수십만에서 …
83 design  skills 

7
웹 사이트를 크롤링 할 때 좋은 시민이되는 방법?
다양한 공용 웹 사이트를 크롤링하고 해당 사이트의 데이터를 처리 / 집계하는 기능을 개발하려고합니다. 전자 메일 주소를 찾는 것과 같은 불길한 것은 없습니다. 실제로 사이트에 실제로 추가 트래픽을 발생시킬 수 있습니다. 그러나 나는 산만하다. 명예 외에 robots.txt, (a) 악성으로 보이고 잠재적으로 금지되는 것을 피하고 (b) 사이트 소유자 / 웹 마스터에게 아무런 …

8
마법 값을 반환하거나 예외를 던지거나 실패시 거짓을 반환합니까?
때로는 실제 답변이없는 것이 예외가 아닌 클래스 라이브러리에 대한 메소드 또는 속성을 작성 해야하는 경우가 있습니다. 확인할 수 없거나 사용할 수 없거나 찾을 수 없거나 현재 사용할 수 없거나 더 이상 사용할 수있는 데이터가 없습니다. C # 4에서 실패를 나타내는 비교적 예외적이지 않은 상황에 대한 세 가지 가능한 솔루션이 있다고 …

12
탄성 탭 스톱의 단점은 무엇입니까? [닫은]
여기를보십시오 : 탭과 공백에 대한 전형적인 거룩한 전쟁 . 이제 여기를보십시오 : 탄성 탭 스톱 . 모든 문제가 해결되었으며 매우 유용한 새로운 동작이 추가되었습니다. 탭과 공백에 대한 논의에서 탄력적 인 탭 스톱이 언급 되었습니까? 왜 안돼? 탄력있는 탭 스톱 아이디어에 너무 심각한 단점이 있습니까? 편집 : 나는 "왜 그들이 언급되지 …

13
주석 처리 된 코드가 유용한 문서가 될 수 있습니까?
다음 코드를 작성했습니다. if (boutique == null) { boutique = new Boutique(); boutique.setSite(site); boutique.setUrlLogo(CmsProperties.URL_FLUX_BOUTIQUE+fluxBoutique.getLogo()); boutique.setUrlBoutique(CmsProperties.URL_FLUX_BOUTIQUE+fluxBoutique.getUrl()); boutique.setNom(fluxBoutique.getNom()); boutique.setSelected(false); boutique.setIdWebSC(fluxBoutique.getId()); boutique.setDateModification(new Date()); boutiqueDao.persist(boutique); } else { boutique.setSite(site); boutique.setUrlLogo(CmsProperties.URL_FLUX_BOUTIQUE+fluxBoutique.getLogo()); boutique.setUrlBoutique(CmsProperties.URL_FLUX_BOUTIQUE+fluxBoutique.getUrl()); boutique.setNom(fluxBoutique.getNom()); //boutique.setSelected(false); boutique.setIdWebSC(fluxBoutique.getId()); boutique.setDateModification(new Date()); boutiqueDao.merge(boutique); } 여기에 주석 처리 된 행이 있습니다. 그러나 if와 의 차이점을 분명히함으로써 코드를 명확하게 만든다고 생각합니다 else. …

6
"개발"지점이 사라지는 추세
최근 GitHub에서 인기있는 프로젝트를 살펴본 결과 develop분기 가 없다는 것을 알았습니다 . 실제로 GitHub Flow 가이드 에는 언급되어 있지 않습니다. 내 이해에서, master항상 완전히 안정되고 생산을 반영해야합니다. 개발자가 기능을 가지 작업을 한 다음에 그 병합하는 경우 master그들이 할 때를, 그 기능 / 수정에 병합되고 일정 기간이 뜻 master과 master지점이 실제로 …
82 git  github 

4
개발 / 기술 리더가되기 위해 어떤 기술을 배양해야합니까? [닫은]
저는 현재 전문 프로그래머입니다. 저의 스킬 셋을 확장하고 싶지만 팀의 일원으로 경력을 발전시키기를 원합니다. 나는 배울 것이 많고 (즉시 일이 아님) 알고 있지만 그것을 할만 큼 똑똑하고 도전에 달려 있다고 생각합니다. 나는 여기에있는 많은 회원들이 아마 이것을 스스로 겪었을 것이며, 이제는 성공적인 개발자 리더가 될 것이라고 확신합니다. 불행히도, 내가 향상시키고 …

11
언어의 세부 사항을 단순히 배우기보다는 실제로 프로그래밍하는 법을 배우고 있는지 어떻게 알 수 있습니까? [닫은]
나는 종종 실제 프로그래머가 일주일 이내에 어떤 언어라도 쉽게 배울 수 있다고 들었습니다. 언어는 일을 끝내기위한 도구 일뿐입니다. 프로그래밍은 배우고 숙달해야하는 최고의 기술입니다. 언어의 세부 사항을 단순히 배우기보다는 실제로 프로그래밍하는 법을 배우고 있는지 어떻게 알 수 있습니까? 그리고 한 언어가 아닌 모든 언어에 적용 할 수있는 프로그래밍 기술을 어떻게 개발할 …

3
MariaDB와 MySQL의 차이점은 무엇입니까?
MariaDB와 MySQL의 차이점은 무엇입니까? 나는 둘 다에 익숙하지 않습니다. 나는 주로 프론트 엔드 개발자입니다. 그것들은 구문 적으로 비슷합니까? 이 두 쿼리 언어는 어디에 있습니까? Wikipedia 는 라이센스의 차이점 만 언급 합니다. MariaDB는 MySQL 데이터베이스의 커뮤니티가 개발 한 지점으로, Oracle이 현재 소유하고있는 MySQL 라이센스 상태에 대한 불확실성과는 대조적으로 GPL에 따라 무료 …

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