소프트웨어 공학

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

5
품질을 향상시키기 위해 코드를 미니 리팩터링하는 것이 유용한가요? 아니면 큰 이점없이 "이동하는 코드"입니까?
예 한 곳에서 "모든 것"을 수행하는 모 놀리 식 코드를 발견했습니다. 데이터베이스에서 데이터를로드하고 HTML 마크 업을 표시하며 라우터 / 컨트롤러 / 액션으로 작동합니다. SRP 이동 데이터베이스 코드를 자체 파일에 적용하기 시작하여 더 나은 이름 지정 기능을 제공했지만 모두 좋아 보였지만 왜 내가 이것을하는지에 대한 의문이 생겼습니다. 왜 리팩터링해야합니까? 목적은 무엇입니까? …

5
외부 코드에서 임의의 함수 / 클래스에 대한 호출 금지
시스템에서 부정적인 결과를 방지하기 위해 외부 라이브러리 및 프레임 워크의 API에 대한 액세스를 제한하는 것이 가치가있는 경우를 경험했습니다. 예를 들어, SharePoint 응용 프로그램에서는 spList.Items.GetItemById큰 성능 문제가 발생할 수 있다는 사실을 모르면 루프에서 목록 항목을 가져 오기 위해 호출 하는 것이 자연스럽게 보일 수 있습니다. 또한 테스트 환경에서 모든 이메일을 제대로 …

1
'구문 식초'의 의미
나는 Groovy in Action, Second Edition 을 읽고 각주에서 다음 텍스트를 발견했습니다. Java는 이러한 구문 위에“구문 식초”를 부어 프로그래머가이를 사용하지 못하게합니다. syntax vinegar여기서 용어 는 무엇을 의미합니까? 나는이 용어에 대해 들어 본 적이 없으며 DuckDuckGo와 Google에서 검색했지만 의미를 찾을 수 없었습니다. 그러나 여러 곳에서 사용되고 있습니다. 누군가가이 용어의 의미와 그것이 …
12 java  syntax  groovy 

1
세마포어가 왜 세마포어라고 불리는가?
철도 세마포어가 깃발이나 신호등과 같은 다른 일반적인 신호 객체보다 세마포어를 더 잘 묘사한다고 생각하지 않습니다. 열쇠 고리와 같은 것 (사람들이 열쇠를 반지에서 꺼내어 잠긴 자원에 액세스 한 다음 완료되면 반환)도 더 설명하기 쉽습니다. 그렇다면 왜 세마포어가 세마포어라고 불리는가?
12 semaphore 


3
라이브러리에서 가시성을 처리하는 일반적인 방법은 무엇입니까?
개인 사용시기와 클래스에서 protected 사용시기에 관한 이 질문 은 저를 생각하게했습니다. (이 질문은 최종 클래스 및 메소드와 관련이 있기 때문에 확장 할 것입니다. Java로 프로그래밍 중이지만 모든 OOP 언어와 관련이 있다고 생각합니다) 허용되는 대답은 다음과 같습니다. 경험상 가장 좋은 방법은 모든 것을 가능한 한 비밀로 만드는 것입니다. 그리고 또 하나 …

2
Javac와 같은 컴파일러는 자동으로 순수한 함수를 감지하고 병렬화합니까?
순수한 기능은 병렬화를 촉진하는 것으로 알려져 있습니다. 병렬 실행에 본질적으로 적용되는 기능적 프로그래밍에 대해 무엇입니까? Javac와 같은 컴파일러는 메소드가 순수한 함수일 때 감지하기에 충분히 똑똑합니까? Function 과 같은 기능적 인터페이스를 구현 하지만 부작용이 있는 클래스를 항상 구현할 수 있습니다 .

5
복잡한 처리와 관련된 애플리케이션에 민첩성을 어떻게 적용 할 수 있습니까?
민첩성에 관한 대부분의 문헌은 사용자가 무대 뒤에서 무슨 일이 일어나고 있는지 거의 알고있는 CRUD 유형 비즈니스 응용 프로그램에 편향되어있는 것 같습니다. (작성되는 대부분의 코드가 아마도이 클래스에 속하기 때문에 좋습니다.) 이러한 유형의 응용 프로그램의 경우 사용자 사례 (요구 사항)와 개발 작업 간의 관계는 대부분 간단합니다. 사용자 사례를 몇 가지 작업으로 나누기 …

2
파일 시스템이 저장 장치를 (매우 큰) 바이트 배열로 "인식"합니까?
파일 시스템이 저장 장치에 쓰고 읽는 방법을 알고 싶습니다. 이것이 작동하는 방식이라고 생각합니다. 파일 시스템은 저장 장치에 직접 액세스하지 않지만 저장 장치는 (저장 장치의 장치 드라이버에 의해) 파일 시스템에 (매우 큰) 바이트 배열로 제공됩니다. 예를 들어 파일 시스템이 하드 디스크에 액세스하려는 경우 하드 디스크를 나타내는 바이트 배열에 액세스하기 만하면됩니다. 이렇게하면 …

4
기능적 스타일로 프로그래밍 할 때 응용 프로그램 논리를 통해 하나의 응용 프로그램 상태가 있습니까?
어떻게 다음을 모두 가지고있는 시스템을 구축 할 : 변경 불가능한 객체에 순수한 함수 사용 더 이상 필요하지 않은 함수 데이터 만 전달하십시오 (즉, 큰 응용 프로그램 상태 객체가 없음). 함수에 너무 많은 인수를 사용하지 마십시오. 함수에 매개 변수를 패킹하고 압축을 풀기 위해 단순히 새로운 오브젝트를 구성하지 말고, 너무 많은 매개 …

2
뮤텍스 구현을 테스트하고 벤치마킹하는 방법
제목에서 알 수 있듯이 C ++에서 뮤텍스의 다양한 구현을 어떻게 올바르게 테스트하고 벤치마킹합니까? 본질적으로 나는 2 코어, armv7에서 실행되는 프로젝트에 대해 내 자신의 std :: mutex와 같은 클래스를 작성했습니다. 이제는 더 많은 장소와 다른 아키텍처에서 뮤텍스를 사용하는 것을 고려하고 있지만이를 수행하기 전에 실제로 맞습니다 표준 std :: mutex보다 훨씬 나쁘게 …
12 c++  testing  mutex 

3
계층 적 데이터를위한 플랫 또는 중첩 JSON?
나는 이미 ~ 5 번 앞뒤로 전환했습니다. 이 REST 엔드 포인트는 /api/tags/내부 용 (타사 클라이언트 없음)을위한 것이므로이 작업을 수행하는 유일한 사람입니다. 이 두 표현을 결정하고 있습니다. 플랫 { "types":[ { "id":1, "text":"Utility" }, { "id":7, "text":"Lease Terms" }, ], "tags":[ { "id":8, "text":"Water", "type":1 }, { "id":9, "text":"Electricity", "type":1 }, …
12 rest  api-design  json 


2
객체 지향 디자인에서 수행해야 할 작업을 실제로 찾는 방법은 무엇입니까?
먼저 면책 조항 :이 질문 이이 웹 사이트에 적합한 지 잘 모르겠지만 초보자뿐만 아니라 다른 사람들에게도 여전히 관련 질문이 있습니다. 여기에 맞게 질문을 개선 할 수 있다면 int 의견을 지적하십시오. 그것이 맞지 않는다면, 나에게도 알려주십시오. 가능한 경우 이것에 대한 좋은 포럼을 찾지 못했기 때문에 이것이 논의 될 수있는 곳을 알려주십시오. …

1
모노 레포의 부분 공유
우리는 현재 git 서브 모듈 저장소를 포함하여 많은 SVN 및 Git 저장소 (각각 약 50 %)로 구성된 복잡하고 비효율적 인 빌드 시스템을 보유하고 있습니다. 또한 전체를 관리하는 수제 스크립트도 있습니다. (폐쇄 소스) 코드베이스의 주요 요점은 밀접하게 연결되어 있으며 모든 프로젝트가 같은 버전에서 동시에 릴리스된다는 것입니다. 우리는 이것을 더 간단한 시스템과 …

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