소프트웨어 공학

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

17
올바른 루프를 작성하는 방법?
루프를 쓰는 동안 대부분의 시간 동안 나는 일반적으로 잘못된 경계 조건 (예 : 잘못된 결과)을 쓰거나 루프 종료에 대한 내 가정이 잘못되었습니다 (예 : 무한 실행 루프). 몇 가지 시행 착오 후에 내 가정은 정확하지만 머리에 올바른 컴퓨팅 모델이 없기 때문에 너무 좌절했습니다. /** * Inserts the given value in …

6
EAV-모든 시나리오에서 정말 나쁩니 까?
나는 사용할 생각하고 엔티티 - 속성 - 값 (EAV) 모델을 프로젝트 중 하나에있는 물건의 일부 있지만, 모든 스택 오버플로에 대한 질문은 EAV에게 안티 패턴을 호출 답변을 끝낸다. 그러나 모든 경우에 그것이 잘못되었는지 궁금합니다. 상점 제품 실체는 이름, 설명, 이미지 및 가격과 같은 많은 기능을 논리에 참여하고 시계 및 비치 볼과 …

14
회사가 엄격한 일정에 따라 프로그래머를 보유하는 것이 정상입니까? [닫은]
그래서 저는이 일을 몇 달 동안 해왔습니다. 저는 2에서 7까지 최선을 다하기 때문에 약간 실망했습니다. 이전 직장에서는 9시 30 분에서 10 시까 지 왔습니다. 그리고 7시에 떠납니다. . 그러나 현재의 회사는 8시 30 분에 그곳에 있다고 주장합니다. 이것과의 편차는 큰 문제입니다. 이것이 전형적인가요? 9시 30 분에서 6시 30 분, 10시에서 …

21
“몇 년 동안 경력을 쌓은 후에는 프로그래밍하지 마십시오”. 이것은 공정한 조언입니까? [닫은]
나는 PHP에서 약 5 년의 경험을 가지고 있고 Java, C #에서 다소 적은 경험을 가진 약간의 경험있는 개발자이며 요즘 파이썬을 배우려고합니다. 프로그래머로서의 경력이 시작된 이래로, 나는 프로그래머가 경력의 초기 몇 년 동안 (적당히 5 년이 걸린다) 적합하며, 이후 방향을 바꿔야한다고 동료 프로그래머들에게 들었다. 그것. 그들이 제시하는 이유는 프로그래밍과 관련된 두통과 …


28
요즘 더 많은 프로그래머가 프리랜서가 아닌 이유는 무엇입니까? [닫은]
전체 파이 를 몇 개만 남겨두고 두 상태의 큰 차이를 증폭시킵니다. 임금은 (거대한) 하나이며, 초과 근무를하지 않아도됩니다. 나는 그 느낌과 가고 싶지 않은 결정에 영향을 미치는 모든 다른 주제들에 대해 많은 훌륭한 답변을 얻기 위해 질문을 열어 둡니다. 이 질문은 전 세계적으로 널리 퍼져 있지만 미국, 인도 및 호주와 같은 …

30
자동차만큼 소프트웨어가 신뢰할 수없는 이유는 무엇입니까? [닫은]
사용자 가이 질문을했습니다. 우리는 자동차가 고장났다는 것을 알고 있지만 소프트웨어가 관련되지 않은 한 물리적 인 문제 때문입니다 . 나는 소프트웨어가 훨씬 더 젊은 산업이라고 대답하려고 노력했지만 사용자는 "자동차 산업이 더 적은 사람들보다 훨씬 안정적이고 안정적이지 않습니까?" 또한 소프트웨어가 더 복잡하다고 대답했지만 사용자는 자동차를 구성하는 수천 개의 부품이 있다고 반박했습니다. 자동차를 …

19
버전 제어 커밋이 너무 큰 경우는 언제입니까? [닫은]
여러 곳에서 "대량 커밋하지 마십시오"라고 들었지만 실제로 "대형"커밋이 무엇인지 이해하지 못했습니다. 관련 파일이 있어도 많은 파일을 작업 할 경우 크기가 큽니까? 한 번에 몇 개의 프로젝트 부분을 작업해야합니까? 나에게 "작은 커밋"을 만드는 데 어려움을 겪고 있습니다. 다른 것을 만드는 무언가를 만드는 것을 잊거나 만듭니다. 그런 다음 다음과 같은 것들로 끝납니다. …


7
검토중인 다른 지점에 의존하는 지점에서 작업
git은 아래 시나리오를 어떻게 처리합니까? 백엔드 작업과 프론트 엔드 작업의 두 부분으로 나누어 진 작업이 있습니다. 백엔드 변경 사항을 병합하고 병합 될 때까지 기다립니다 (및 주소 피드백). 대기하는 동안 백엔드 변경에 따라 다르고 아직 마스터 브랜치에서 사용할 수 없으므로 프런트 엔드 변경 작업을 실제로 수행 할 수 없습니다. 백엔드 변경 …
65 git  branching 

5
이벤트 기반 프로그래밍은 언제 사용해야합니까?
작업이 완료되면 콜백을 전달하거나 프로그램의 다른 기능에서 함수를 트리거하여 작업을 수행했습니다. 무언가가 끝나면 함수를 직접 트리거합니다. var ground = 'clean'; function shovelSnow(){ console.log("Cleaning Snow"); ground = 'clean'; } function makeItSnow(){ console.log("It's snowing"); ground = 'snowy'; shovelSnow(); } 그러나 나는 프로그래밍에서 여러 가지 다른 전략에 대해 읽었으며, 강력하지만 이해하지는 못했지만 이벤트 …

8
단일 책임 원칙을 어 기지 않고 클래스에 여러 개의 메소드를 가질 수있는 방법
단일 책임 원칙은 Wikipedia에서 다음 과 같이 정의 됩니다. 단일 책임 원칙은 모든 모듈, 클래스 또는 기능이 소프트웨어가 제공하는 기능의 단일 부분에 대해 책임을 가져야하며 책임은 클래스에 의해 완전히 캡슐화되어야한다는 컴퓨터 프로그래밍 원칙입니다. 수업이 하나의 책임만을 가져야한다면, 어떻게 하나 이상의 방법을 가질 수 있습니까? 각 방법이 서로 다른 책임을 가지지 …

7
논리적 옵션이 예약 키워드 인 경우 이름을 지정하는 방법은 무엇입니까? [닫은]
경우에 따라 가장 논리적 인 이름 (예 : 변수)은 선택한 언어 또는 환경에서 예약 된 키워드입니다. 똑같은 동의어가 없으면 어떻게 명명합니까? 이 문제에 대한 모범 사례 휴리스틱이 있다고 생각합니다. 이들은 프로그래밍 언어와 환경의 제작자 또는 주지사가 제공 할 수 있습니다. 예를 들어, python.org (또는 Guido van Rossum)가 파이썬에서이를 처리하는 방법을 …
64 naming 

6
빼기 부호 '-'가 일반적으로 더하기 부호와 같은 방식으로 오버로드되지 않는 이유는 무엇입니까?
더하기 부호 +는 더하기 및 문자열 연결에 사용되지만 그 동반자 인 빼기 부호 -는 일반적으로 문자열을 자르거나 빼기 이외의 다른 경우에는 표시되지 않습니다. 그 이유나 한계는 무엇입니까? JavaScript에서 다음 예제를 고려하십시오. var a = "abcdefg"; var b = "efg"; a-b == NaN // but a+b == "abcdefgefg"

8
소프트웨어 프로젝트를 시작할 때 어떻게해야합니까? [닫은]
나는 1 년의 경험을 가진 프로그래머입니다. 최근에 프로젝트를 거의 제대로 시작하지 않는다는 것을 깨달았습니다. 몇 가지 사용 사례로 시작 코딩 시작 내가 잘 처리하지 못하고 현재 코드베이스에 적합하지 않은 몇 가지 사항을 실현하십시오. 코드의 대부분을 다시 작성 그리고 이것은 몇 번 갈 수 있습니다 그래서 내 질문은 그러한 관행은 일반적입니까, …

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