소프트웨어 공학

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

6
메모리 정렬이 얼마나 중요합니까? 여전히 문제가 되나요?
얼마 전부터 메모리 정렬, 작동 방식 및 사용 방법에 대해 많은 것을 검색하고 읽었습니다. 내가 찾은 가장 관련성 높은 기사는 이것 입니다. 그러나 그럼에도 불구하고 여전히 그것에 대해 몇 가지 질문이 있습니다. 임베디드 시스템에서 우리는 종종 메모리 관리를 덜 비판적으로 만드는 컴퓨터에 엄청난 양의 메모리를 가지고 있습니다. 완전히 최적화에 있지만 …

3
Ruby 제작자가 Symbols 개념을 사용하기로 선택한 이유는 무엇입니까?
tl; dr : 기호에 대해 언어에 구애받지 않는 정의와 다른 언어로 표시해야하는 이유가 있습니까? 그렇다면 왜 루비 제작자 symbols가 언어 개념을 사용 했습니까? 나는 루비가 아닌 프로그래머의 관점에서 이것을 묻습니다. 나는 다른 많은 언어를 배웠고, 루비가 부르는 것을 다루고 있는지 아닌지를 명시해야 할 필요성을 발견했습니다 symbols. 주요 질문은 symbolsRuby 의 …


6
소스 코드를 작성하는 동안 80 자 제한 모범 사례를 따르는 방법은 무엇입니까?
알다시피 모범 사례가 있습니다. 소스 코드 행을 80 자로 제한하십시오. 다음은 2 개의 링크입니다. 코드 너비에 대해 80자가 '표준'제한 인 이유는 무엇입니까? 와이드 스크린 모니터의 경우 80 자 제한이 여전히 관련이 있습니까? 이 모범 사례를 검색하면 더 많은 정보를 얻을 수 있습니다. 그러나 나는 이것이 매우 어렵다는 것을 알았습니다. 여기에 …

7
For 루프에서와 같이 정수를 사용할 때 <= 및> =를 피해야합니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 삼년 전에 . 학생들에게 등식 테스트는 부동 변수에 대해서는 신뢰할 수 없지만 정수에는 적합하다고 설명했습니다. 내가 사용하고있는 교과서는&gt;와 &lt;보다&gt;와 &lt;보다 읽기 …
15 loops 

3
오래 실행되지 않은 릴리스되지 않은 코드에 대한 Git 분기 전략
우리 팀에서는 개별 작업 단위 (스토리) 외에도 더 오래 실행되는 작업 테마 (Epics)를 가지고 있습니다. 여러 이야기가 서사시를 만듭니다. 전통적으로 우리는 각 스토리마다 기능 브랜치를 가지고 있었고 QA를 통과하면 마스터로 바로 통합했습니다. 그러나 Epic이 "기능 완료"로 간주 될 때까지 Epic에서 완성 된 스토리의 릴리스를 보류하고 싶습니다. 우리는 전체 Epic이 닫힐 …

8
예외 발생 생성자에 오류를 기록해야합니까?
몇 달 동안 응용 프로그램을 작성하고 있었고 다음과 같은 패턴을 깨달았습니다. logger.error(ERROR_MSG); throw new Exception(ERROR_MSG); 또는 잡을 때 : try { // ...block that can throw something } catch (Exception e) { logger.error(ERROR_MSG, e); throw new MyException(ERROR_MSG, e); } 따라서 예외를 던지거나 잡을 때마다 기록합니다. 사실, 그것은 응용 프로그램에서 수행 …

2
std :: exception에서 파생 / 상속해야합니까?
첫 번째 '심각한'C ++ 라이브러리를 디자인하는 동안 나 자신에게 묻습니다. 예외를 파생시키는 것이 좋은 스타일입니까, std::exception자손입니까?! 읽은 후에도 예외 클래스 설계 내 라이브러리에 구현할 '좋은 수'의 예외는 무엇입니까? 아직 확실하지 않습니다. 일반적인 관행 (아마도 좋지는 않지만) 관행 외에도 라이브러리 사용자 std::exception는 라이브러리 구현에서 표준 라이브러리 함수가 실패한 경우에만 라이브러리 함수가 …
15 c++  exceptions 

4
API 및 기능 프로그래밍
Clojure와 같은 기능적 프로그래밍 언어에 대한 (제한적으로 제한적인) 노출에서 데이터 캡슐화는 덜 중요한 역할을하는 것으로 보입니다. 일반적으로 맵이나 세트와 같은 다양한 기본 유형이 객체보다 데이터를 나타내는 기본 통화입니다. 게다가, 그 데이터는 일반적으로 불변입니다. 예를 들어, Clojure 명성의 Rich Hickey가 그 문제 에 대한 인터뷰 에서 가장 유명한 인용문 중 하나입니다 …

4
OOP 어플리케이션의 파라미터 관리
OOP 원칙을 연습하는 방법으로 C ++로 중간 크기의 OOP 응용 프로그램을 작성하고 있습니다. 프로젝트에 여러 클래스가 있으며 그 중 일부는 런타임 구성 매개 변수에 액세스해야합니다. 이 매개 변수는 응용 프로그램 시작 중 여러 소스에서 읽습니다. 일부는 사용자 home-dir의 구성 파일에서 읽고 일부는 명령 행 인수 (argv)입니다. 그래서 나는 수업을 만들었습니다 …

6
전략 패턴의 장점
if / thecase에서 코드를 작성할 수 있다면 전략 패턴을 사용하는 것이 왜 유리합니까? 예를 들어 : TaxPayer 클래스가 있고 해당 메소드 중 하나가 다른 알고리즘을 사용하여 세금을 계산합니다. 그렇다면 전략 패턴을 사용하는 대신 if / thecase를 사용하여 해당 방법에 어떤 알고리즘을 사용해야하는지 파악할 수없는 이유는 무엇입니까? 또한 TaxPayer 클래스의 각 …

2
기본 클래스 테스트를 피하는 것이 좋습니까?
나는 다소 일반적인 "메타 프로그래밍"을 가진 기본 클래스를 가지고있어 그것이 다소 일반화되어야하는 유연성 / 추상성을 제공한다. 기본 클래스에서 공통 메소드를 사용하는 많은 서브 클래스가 있고 각 서브 클래스의 모든 경우를 다루는 동작 지향 단위 테스트가 있습니다. 기본 클래스 테스트를 건너 뛰어도 되나요?


1
소비자 / 프로듀서와 관찰자 / 관찰 가능한 차이점
세 부분으로 구성된 응용 프로그램 디자인을 연구하고 있습니다. 특정 이벤트 (파일 생성, 외부 요청 등)를 감시하는 단일 스레드 이러한 이벤트를 처리하여 응답하는 N 작업자 스레드 (각 작업자 프로세스 및 단일 이벤트 소비 및 처리에 시간이 걸릴 수 있음) 해당 스레드를 관리하고 오류 처리 (스레드 재시작, 결과 로깅)를 수행하는 컨트롤러 이것은 …

5
사용자가 기능이라고 생각한 버그를 처리하는 방법은 무엇입니까?
질문 : 최종 사용자가 기능이라고 생각한 버그를 해결하는 올바른 방법은 무엇입니까? 정교함 : 많은 비율의 사용자가 기능으로 예상 한 경우 더 안정적으로 "고정되지 않은"또는 "고정 된"상태로 두어야한다고 생각합니다. 그러나 아주 적은 비율의 사용자가이 기능이 0.1 % 또는 1 %라고 생각하면이 버그를 수정해야합니다. 이론적으로 이것은 사소한 버그 수정이기 때문에 시맨틱 버전 …

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