«clean-code» 태그된 질문

"클린 코드"라는 용어는 간결하고 이해하기 쉽고 프로그래머의 의도를 명확하게 표현하는 컴퓨터 프로그래밍 코드를 설명하는 데 사용됩니다. 이 태그에 대한 질문은 깨끗한 코드를 작성하거나 오래된 "더러운"코드를 깨끗한 코드로 리팩토링하는 프로세스와 관련이 있습니다.

11
얼마나 많은 디자인 패턴과 추상화 수준이 필요합니까? [닫은]
소프트웨어에 추상화가 너무 많고 디자인 패턴이 너무 많거나 더 많은 패턴이 있는지 어떻게 알 수 있습니까? 내가 일하는 개발자는 이러한 점에 대해 다르게 프로그래밍하고 있습니다. 일부는 모든 작은 기능을 추상화하고 가능하면 디자인 패턴을 사용하며 어떠한 비용으로도 중복성을 피합니다. 저를 포함한 다른 사람들은 더 실용적으로 노력하고 모든 디자인 패턴에 완벽하게 맞지 …

6
기술 부채를 돌 보면서 어떤 상환을 보았습니까?
기술 부채에 관한 이 기사 에는 다음을 포함하여 몇 가지 좋은 점이 있습니다. "기술적 인 문제"에 대한 작업은 이야기에 의해 주도 될 때 가장 효과적입니다. 코드베이스는 어느 곳에서나 작업이 필요할 수 있지만 사용자가 직면 한 이유로 코드를 처리 할 경우에만 지불해야합니다. 어떤 멍청한 부분을 지나치려는 이야기가 없다면, 그 작업은 크게 …

4
이와 같은 코드가 "기차 사고"입니까 (Demeter of Law)
내가 작성한 일부 코드를 탐색하면서 다음과 같은 구성을 보았습니다. 언뜻보기에 충분히 깨끗해 보입니다. 그렇습니다. 실제 코드 getLocation()에서이 메서드는 좀 더 구체적인 이름을 가지고 있는데,이 이름은 정확히 어떤 위치에 도달하는지 더 잘 설명합니다. service.setLocation(this.configuration.getLocation().toString()); 이 경우 service알려진 형식의 인스턴스 변수이며 메서드 내에서 선언됩니다. this.configuration클래스 생성자에 전달되어 제공되며 특정 인터페이스를 구현하는 클래스의 …

7
소프트웨어 부패는 주로 성능 또는 지저분한 코드를 가리 킵니까?
소프트웨어 부패 에 대한 Wikipedia의 정의 는 소프트웨어 성능에 중점을 둡니다. 이것은 내가 익숙한 것과는 다른 사용법입니다. 코드의 청결성과 디자인 측면에서 코드의 표준 품질 특성 인 가독성, 유지 관리 성 등의 측면에서 훨씬 더 많이 생각했습니다. 이제 코드를 읽을 수 없게되면 성능이 저하 될 수 있습니다. 아무도 무슨 일이 일어나고 …

3
테스트와 생산 코드 사이에 상수가 중복됩니까?
테스트와 실제 코드간에 데이터를 복제하는 것이 좋거나 나쁘습니까? 예를 들어 FooSaver특정 이름의 파일을 주어진 디렉토리에 저장 하는 Python 클래스가 있다고 가정 합니다. class FooSaver(object): def __init__(self, out_dir): self.out_dir = out_dir def _save_foo_named(self, type_, name): to_save = None if type_ == FOOTYPE_A: to_save = make_footype_a() elif type == FOOTYPE_B: to_save = …

6
5의 규칙-사용 여부?
3 규칙 ( 새로운 c ++ 표준에서 5 규칙 )은 다음과 같습니다. 소멸자, 복사 생성자 또는 복사 할당 연산자를 명시 적으로 선언해야하는 경우 세 개 모두 명시 적으로 선언해야합니다. 그러나 Martin의 " Clean Code "는 빈 생성자와 소멸자를 모두 제거하도록 조언합니다 (293 페이지, G12 : Clutter ). 구현이없는 기본 생성자는 …

5
의도적으로 프로그래밍 언어가 "깨끗한 코드"를 시행 할 수 있습니까? [닫은]
휴무 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 삼년 전에 . 그래서 저는 C ++로 첫 프로젝트를 코딩하고 있는데, 코드를 "정리"하게 만드는 것보다 더 많은 노력이 필요한 것 같습니다. …

16
블록이 코드 복잡성을 증가 시키는가? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 다음은 매우 간단한 예 입니다. 이것은 언어 별 질문 일 필요는 없으며 , 함수를 작성할 수있는 다른 많은 …

3
요구 사항을 기다리는 동안 조잡한 코드에 대한 영향이 적은 리팩토링 및 코드 정리
나는 엄청나게 느슨한 제품의 기존 코드베이스를 물려 받았습니다. 근본적인 디자인은 불행히도 완전한 리 팩터 (HIGH 커플 링, LOW 응집력, 코드 중복, 기술 설계 문서 없음, 단위 테스트 대신 통합 테스트) 없이는 거의 할 수없는 일입니다. 이 제품은 역사, 위험에 대한 내성이 거의없는 중요한 "현금 소"고객에 대한 높은 노출, 그리스인을 홍당무하게 …

2
Clean Code의 원칙을 기능적 언어에 적용
나는 현재 Robert Martin의 Clean Code를 읽고 있습니다. 나는 그것이 훌륭하다고 생각하고 OO 코드를 작성할 때 그의 교훈을 마음에 새깁니다. 특히, 의미있는 이름을 가진 작은 함수를 사용하라는 그의 조언은 내 코드 흐름을 훨씬 더 매끄럽게 만든다고 생각합니다. 이 인용문에 의해 요약되는 것이 가장 좋습니다. [W] e는 마치 현재의 추상화 레벨을 …

9
모범 사례와 중복 조건 검사가 있습니까?
나는 지난 3 년간 소프트웨어를 개발해 왔지만 최근에 내가 좋은 관행에 대해 무지한 것으로 깨어났다. 이로 인해 Clean Code 라는 책을 읽게 되었으므로 인생을 더 좋게 만들 수는 있지만 프로그램 작성을위한 최선의 접근법에 대한 통찰력을 얻는 데 어려움을 겪고 있습니다. 나는 파이썬 프로그램을 가지고 있는데 ... argparse required=True를 사용하여 두 …

5
과도한 메소드 과부하를 피하는 방법은 무엇입니까?
우리는 응용 프로그램의 소스 코드에 꽤 많은 장소가 있습니다. 한 클래스에는 동일한 이름과 다른 매개 변수를 가진 많은 메소드가 있습니다. 이러한 메소드에는 항상 '이전'메소드의 모든 매개 변수와 하나 이상의 매개 변수가 있습니다. 그것은 긴 진화 (레거시 코드)와 이러한 생각 (믿습니다)의 결과입니다. " A를 수행하는 메소드 M이 있습니다. A + B를 …

8
"완벽한 프로그래머의 증후군"을 깰 수있는 방법
여기에 무엇이 요청되는지 말하기가 어렵습니다. 이 질문은 모호하거나 모호하거나 불완전하거나 지나치게 광범위하거나 수사적이며 현재 형태로 합리적으로 대답 할 수 없습니다. 다시 열 수 있도록이 질문을 명확하게 설명 하려면 도움말 센터를 방문하십시오 . 휴일 칠년 전에 . 나는 그런 식으로 느끼는 유일한 사람이 아닐 것입니다. 그러나 나는“완벽한 프로그래머의 신드롬”이라고 부르는 경향이 …

5
조건부 인 경우 set.add ()의 부울 반환?
set 클래스의 add 연산자는 추가 할 요소가없는 경우 true를 반환하고 그렇지 않으면 false를 반환합니다. 기록하고있다 if (set.add(entry)) { //do some more stuff } 깨끗한 코드 작성 측면에서 좋은 스타일로 간주됩니까? 한 번에 두 가지 일을했기 때문에 궁금합니다. 1) 요소 추가 및 2) 요소 존재 여부 확인

3
깨끗한 코드 : 매개 변수가 적은 짧은 방법의 결과
최근 코드 검토 중에 냄새가 나는 패턴이 들어있는 새로운 동료가 작성한 코드를 발견했습니다. 동료의 결정은 유명한 Clean Code 책 (그리고 아마도 다른 유사한 책들)에 의해 제안 된 규칙에 근거한 것으로 생각됩니다. 클래스 생성자가 전적으로 유효한 객체 생성을 책임지고 주요 작업이 객체의 (비공개) 속성 할당이라는 것을 이해합니다. 물론 선택적 속성 값이 …

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