«clean-code» 태그된 질문

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

16
상사는 작은 함수 작성을 중단하고 동일한 루프에서 모든 작업을 수행하도록 요청합니다.
Clean Code 라는 책을 읽었습니다.Robert C. Martin의 . 이 책에서는 작은 함수 작성, 이름 선택 등의 코드를 정리하는 많은 방법을 보았습니다. 필자가 읽은 깨끗한 코드에 관해 가장 흥미로운 책으로 보입니다. 그러나 오늘 상사는이 책을 읽은 후 코드를 작성하는 방식을 좋아하지 않았습니다. 그의 주장은 작은 함수를 작성하면 코드가 무엇을하는지보기 위해 각각의 …

23
과학 코드 작성시 깨끗하게 프로그래밍
나는 실제로 큰 프로젝트를 쓰지 않습니다. 나는 거대한 데이터베이스를 유지하거나 수백만 줄의 코드를 처리하지 않습니다. 내 코드는 주로 "스크립트"유형의 물건입니다. 수학 함수를 테스트하거나 "과학적 프로그래밍"을 시뮬레이션하는 것입니다. 내가 지금까지 노력한 가장 긴 프로그램은 수백 줄의 코드이며, 내가 작업하는 대부분의 프로그램은 약 150입니다. 내 코드도 쓰레기입니다. 내가 전에 쓴 파일을 찾으려고했던 …

10
Clean Code가 보호 변수를 피하도록 제안하는 이유는 무엇입니까?
Clean Code 는 "서식 지정"장의 "수직 거리"섹션에서 보호 된 변수를 피할 것을 제안합니다. 밀접하게 관련된 개념은 서로 수직으로 유지해야합니다. 분명히이 규칙은 별도의 파일에 속하는 개념에는 적용되지 않습니다. 그러나 매우 적절한 이유가 없다면 밀접하게 관련된 개념을 다른 파일로 분리해서는 안됩니다. 실제로 이것은 보호 된 변수를 피해야하는 이유 중 하나입니다 . 추론은 …

17
재사용 가능한 방법을 어떻게 알 수 있습니까? [닫은]
나는 집에서 내 자신의 사업을 생각하고 내 아내가 와서 말한다 여보 .. 2018 년 전 세계의 모든 Day Light Savings를 콘솔에서 인쇄 할 수 있습니까? 뭔가 확인해야합니다. 그리고 나는 그것이 Java 경험으로 평생 동안 기다리고 있었고 다음을 생각해 냈기 때문에 매우 행복합니다. import java.time.*; import java.util.Set; class App { void …

20
입력되지 않은 것처럼 보이는 코드를 어떻게 안전하게 삭제합니까?
불필요한 코드를 발견했으며 컴파일러는이를 알지 못합니다. 이 코드를 삭제해도 회귀 현상이 발생하지 않도록하려면 어떻게해야합니까? 두 가지 아이디어가 떠 오릅니다. "간단하게"코드가 실행되어야하는지 여부에 따라 추론을 사용하십시오. 그러나 때로는 막대한 비즈니스 수익이 없기 때문에 복잡하고 시간이 많이 걸리는 작업 일 수 있습니다 (평가에 오류가 발생하기 쉽습니다). 해당 코드 섹션에 로깅을 배치하고 실제로 …
125 clean-code 

16
참조되지 않은 코드를 제거해야합니까?
나는 중간 크기 (100k 라인) 코드베이스에서 일하고 있는데, 모두 비교적 최근 코드 (1 년 미만)이며 단위 테스트 적용 범위가 좋습니다. 더 이상 어디서나 사용되지 않거나 특정 방법 만 테스트하는 단위 테스트에서만 참조되는 방법을 계속 사용합니다. 더 이상 필요하지 않은 경우이 코드를 제거해야합니까? 제거 이유 : 적은 코드, 적은 버그 적은 …

13
깨끗한 코드 관행에 따라 더 많은 코드가 작성되는 것을 어떻게 정당화합니까?
중재자 메모이 질문에는 이미 17 개의 답변이 게시되었습니다. 새로운 답변을 게시하기 전에 기존 답변을 읽고 귀하의 견해가 이미 적절하게 다루어지지 않았는지 확인하십시오. Robert Martin의 "Clean Code"책에서 권장하는 몇 가지 관행, 특히 내가 사용하는 소프트웨어 유형에 적용되는 관행과 나에게 의미가있는 관행을 따랐습니다 (도그마로 따르지 않음). . 그러나 내가 알아 차린 부작용 …

14
간결함이 더 이상 미덕이 아닌 시점은 무엇입니까?
최근 버그 수정으로 인해 다른 팀 구성원이 작성한 코드를 살펴 보았습니다.이 코드는 C #입니다. return (decimal)CostIn > 0 && CostOut > 0 ? (((decimal)CostOut - (decimal)CostIn) / (decimal)CostOut) * 100 : 0; 이제는 모든 캐스트에 대한 합당한 이유가 있으므로 여전히 따르기가 매우 어렵습니다. 계산에 사소한 버그가 있었고 문제를 해결하기 위해 …

9
의존성 주입을 사용해야하는 이유는 무엇입니까?
종속성 주입을 사용해야하는 이유에 대한 리소스를 찾는 데 어려움을 겪고 있습니다 . 내가 보는 대부분의 리소스는 객체의 인스턴스를 객체의 다른 인스턴스로 전달한다고 설명하지만 왜 그럴까요? 이것은 깨끗한 아키텍처 / 코드만을위한 것입니까 아니면 성능 전체에 영향을 줍니까? 왜 다음을해야합니까? class Profile { public function deactivateProfile(Setting $setting) { $setting->isActive = false; } …

9
클린 코드 주석과 클래스 문서
의견에 관해 새로운 동료들과 토론을하고 있습니다. 우리는 Clean Code를 좋아 하고 인라인 코드 주석을 피하고 클래스와 메소드 이름을 사용하여 수행하는 것을 표현해야한다는 사실에 완벽하게 만족합니다. 그러나 저는 수업의 목적과 실제로 나타내는 것을 설명하는 작은 수업 요약을 추가하는 것을 좋아합니다. 주로 단일 책임 원칙 패턴 을 유지하기가 쉽습니다 . 또한 메소드가 …

9
"깨끗한 코드"사례와는 거리가 먼 코드를 사용하면서 어떻게 거대한 오픈 소스 라이브러리를 유지 관리합니까?
저는 여전히 양질의 코드를 작성하는 경험이 없어서 Robert C. Martin의 Clean Code 와 같은 문제를 다루는 책을 읽고 기술을 향상시키기 위해 잘 알려진 라이브러리의 코드를 계속 확인합니다. 많은 오픈 소스 라이브러리가 수년간 유지되어 왔지만, 올바른 경로에 있지 않을 가능성이 매우 높지만, 많은 코드가 깨끗한 코드를 작성하기 위해 해결 된 원칙과 …

12
마감 기한에 도달 한 후 더 이상 사용되지 않는 코드가 컴파일되지 않도록 방지 [닫기]
우리 팀에서 우리는 큰 모 놀리 식 프로젝트 (전체 클래스, 메소드 등)에서 많은 오래된 물건을 청소했습니다. 그 청소 작업 동안 나는 평소보다 어떤 종류의 주석이나 라이브러리가 더 멋진 지 궁금했다 @Deprecated. 이것은 @FancyDeprecated특정 날짜가 경과 한 후 기존 사용되지 않는 코드를 청소하지 않은 경우 성공하는 프로젝트의 빌드를 방지해야한다. 인터넷에서 검색했지만 …

8
명명 문제 : "문제"의 이름이 "뭔가"로 바뀌어야합니까? [닫은]
Clean Code의 이름에 대한 Bob Uncle 장의 이름은 주로 헝가리 표기법에 관한 이름의 인코딩을 피하는 것이 좋습니다. 또한 I인터페이스 에서 접두사를 제거하는 것에 대해 구체적으로 언급 하지만 이에 대한 예제는 표시하지 않습니다. 다음을 가정 해 봅시다. 인터페이스 사용은 주로 의존성 주입을 통해 테스트 가능성을 달성하는 것입니다. 대부분의 경우 단일 구현 …

5
CSS와 SVG에서 많은 양의 매직 넘버를 사용할 수있는 이유는 무엇입니까?
종종 내가 좋아하는 핫 네트워크 질문 목록 질문에 볼 이 기본적으로 "나는 CSS이 임의의 모양을 그리는 어떻게"부탁드립니다. 항상 그 대답은 요청 된 형태를 형성하는 겉보기에 무작위로 하드 코딩 된 값이 많은 CSS 또는 SVG 데이터 블록입니다. 이것을 보면 'Yuck! 못생긴 코드 블록. 나는 내 프로젝트에서 이런 종류의 것들을 보지 않기를 …

4
코드 선명도를 향상시키는 경우 그 시점에 영향을 미치지 않는 함수를 호출하는 것이 더 낫습니까?
내 프로그램 (iOS 앱)에 세 가지 견해가 있습니다. 그중 하나만 동시에 활성화되므로 두 가지에 대한 가시성을 끄고 사용자가 버튼을 누를 때 가시성을 전환합니다. 뷰는 표시되는 것으로 초기화되므로 기본 뷰가 표시되기 전에 코드에서 가시성을 해제했습니다. 내가 할 수있는 [view1 setAlpha:0.0f]; [view2 setAlpha:0.0f]; 뷰 중 두 개에 대해서는 세 번째 뷰 (앱 …

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