소프트웨어 공학

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


14
마감 시간이 촉박 할 때 다른 사람의 코드를 정리하는 것이 얼마나 중요합니까? [닫은]
(저는 프로그래밍 언어가 아닌 HTML / CSS 코드에 대해 이야기하고 있지만 프로그래머와 같은 문제에 직면하고 있다고 생각합니다.) 저는 팀의 선임 프론트 엔드 디자이너이며, 종종 마감일에 주니어 출력을 재 작업해야합니다. 나는 두 가지 문제에 직면 해있다. 그들의 코딩 스타일은 약간 엉망입니다. 미학은 좋지 않습니다. 그들의 코딩 스타일은 적절한 컨벤션 / 표준이없는 …

6
“함수와 데이터 간의 긴밀한 결합”이 나쁜 이유는 무엇입니까?
나는이 인용문을 " The Clojure의 기쁨 "에서 찾을 수있다 . 32, 그러나 누군가 지난 주 저녁에 나에게 똑같은 것을 말했고 나는 다른 곳에서도 들었습니다. [A] 객체 지향 프로그래밍의 단점은 함수와 데이터 사이의 긴밀한 연결입니다. 응용 프로그램에서 불필요한 결합이 나쁜 이유를 이해합니다. 또한 객체 지향 프로그래밍에서도 가변 상태와 상속을 피해야한다는 것이 …

8
범위 기반 메모리 관리의 단점
C ++ 커뮤니티에서 더 일반적으로 (혼란스럽게?) 참조하는 범위 기반 메모리 관리 (SBMM) 또는 RAII를 정말 좋아 합니다. 내가 아는 한, C ++ (및 C)을 제외하고는 오늘날 SBMM / RAII를 주요 메모리 관리 메커니즘으로 만드는 다른 주류 언어는 없으며 대신 가비지 수집 (GC)을 선호합니다. 다소 혼란 스럽습니다. SBMM은 프로그램을보다 결정 론적으로 …

11
모범 사례를 따르지 않는 오픈 소스 프로젝트에서 코딩 스타일을 변경해도 괜찮습니까?
최근 에 GitHub 에서 여러 오픈 소스 Ruby (또는 대부분 Ruby) 프로젝트를 발견했으며 Rubocop 와 같은 코드 분석 도구로 검사 할 때 많은 위반이 발생 합니다. 이제, 이러한 위법 행위의 대부분은 레벨 규칙 당 2 개의 공백을 따르지 않거나 80 자 라인 길이 규칙을 초과하거나 멀티 라인 블록을 사용 {하고 …

3
왜 main이 int 또는 void가 아닌 double 또는 String을 반환 할 수 없습니까?
같은 C, C ++ 및 Java는 많은 언어에서 main방법 / 함수의 반환 형식이 void또는 int아니라, double나 String. 그 이유는 무엇입니까? 나는 때문에 우리가 할 수없는 것을 조금 알고 main런타임 라이브러리에 의해 호출되어 있으며 일부 구문처럼 기대 int main()또는 int main(int,char**)우리가에 충실 할 수 있도록. 그래서 내 질문은 : 왜 main형식 …


6
HTML에 대해 엄격한 구문 분석이 선택되지 않은 이유는 무엇입니까?
HTML을 만들 때 왜 엄격한 구문 분석이 선택되지 않았는지 궁금합니다. 대부분의 인터넷 기록에서 브라우저는 모든 종류의 마크 업을 허용했으며이를 분석하기 위해 최선을 다했습니다. 이 프로세스는 성능을 저하시키고 사람들이 횡설수설을 할 수있게하며 쓸모없는 기능을 중단하는 것을 어렵게 만듭니다. HTML이 엄격하게 구문 분석되지 않는 특별한 이유가 있습니까?
38 html  history  parsing 

8
프로젝트에서 개발자를 회전시키는 것이 좋은 아이디어입니까?
다른 소규모 팀과 함께 대규모 새 프로젝트를 시작하는 소규모 팀에서 일하고 있습니다. 다른 팀은 현재 수년간 사용해온 레거시 시스템에서 작업하고 있습니다. 관리자는 팀의 개발자가 레거시 시스템에서 작업하는 개발자를 대체하기 위해 몇 개월마다 교체하기로 결정했습니다. 이렇게하면 다른 팀이 새로운 프로젝트를 수행하고 새로운 시스템을 더 잘 이해할 수 있습니다. 2-3 개월마다 프로젝트에서 …

7
대학원 / 주니어 엔지니어는 어떤 표준을 기대할 수 있습니까? [닫은]
대학원 개발자가 버퍼 오버플로를 수용 할 수 있습니까? 바를 너무 높게 설정하고 있습니까? 대학원 / 주니어 엔지니어의 예상 기능은 무엇입니까? 문맥: 우리는 현재 Linux에서 주로 C로 일하는 Junior Developer 직책을 모집하고 있습니다. 이 과정의 일부로 응시자는 C에서 여가 시간에 코드 테스트를 완료해야합니다. 지금까지 우리는 코드가 읽을 수 있고 어떤 경우에는 …

7
CLI 앱 개발이 "뒤로"간주됩니까? [닫은]
저는 프로그래밍 경험이 많은 DBA입니다. 매일 반복되는 작업을 해결하거나 더 복잡한 작업으로 인한 인적 오류를 제거하는 몇 가지 CLI 비 대화식 앱을 개발했습니다. 이 도구는 이제 도구 상자의 일부입니다. CLI 앱은 자동화 된 워크 플로우에 포함시킬 수 있기 때문에 훌륭합니다. 또한 하나의 일을하지만 잘하는 프로세스의 결과를 다른 일의 입력으로 만드는 …
38 skills  cli 

4
실패한 로그인 시도를 기록하면 비밀번호가 노출됩니다
웹 사이트에서 다음과 같은 메시지로 로그인 시도 실패를 기록하기 시작했습니다. Failed login attempt by qntmfred 이 로그 중 일부가 다음과 같이 보입니다. Failed login attempt by qntmfredmypassword 일부 사용자는 사용자 이름 필드에 사용자 이름과 비밀번호를 입력하여 로그인에 실패한 것 같습니다. 암호는 데이터베이스에서 해시되지만 DB가 손상된 경우 이러한 로그 메시지는 공격자가 …

4
C ++에서 가상 함수가 왜 그리고 어떻게 느려 집니까?
누구나 가상 테이블이 정확히 작동하는 방식과 가상 함수가 호출 될 때 어떤 포인터가 연관되는지 자세히 설명 할 수 있습니다. 실제로 느리다면 가상 함수를 실행하는 데 걸리는 시간이 일반 클래스 메서드보다 큼을 보여줄 수 있습니까? 일부 코드를 보지 않고 어떻게 / 무슨 일이 일어나고 있는지 쉽게 잃을 수 있습니다.

5
C #에 케이스 블록에 로컬 범위가없는 이유는 무엇입니까?
나는이 코드를 작성했다 : private static Expression<Func<Binding, bool>> ToExpression(BindingCriterion criterion) { switch (criterion.ChangeAction) { case BindingType.Inherited: var action = (byte)ChangeAction.Inherit; return (x => x.Action == action); case BindingType.ExplicitValue: var action = (byte)ChangeAction.SetValue; return (x => x.Action == action); default: // TODO: Localize errors throw new InvalidOperationException("Invalid criterion."); } } 그리고 …

6
내가 유일한 개발자 인 경우 내 리포지토리에서 풀 요청을 사용하는 목적이 있습니까?
그래서 GitHub 에서 실제 프로젝트를 시작 했으며 상황이 꽤 잘 진행되고 아이디어가 처음에 생각했던 것보다 훨씬 빠르게 흐릅니다. 일을 체계적으로 유지하기 위해 여러 가지 기능을 별도로 개발할 수 있도록 지점을 설정했습니다. : 나는 GitHub의 내 지점을 밀어 자 할 때, 나는 내가 두 개의 버튼이 절로 Pull Request과 Compare나는 최근에 …
38 github  workflows 

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