«clean-code» 태그된 질문

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

6
똑같이 차선책으로 디자인을 반복적으로 피하는 방법은 무엇입니까?
그래서 아마도 많은 사람들처럼, 나는 종종 문제를 직감적으로 맞추고 원하는 이점을 갖는 디자인 패턴 / 접근법이있는 디자인 문제로 두통을 겪고 있습니다. 종종 어떤 종류의 작업없이 패턴 / 접근을 구현하기 어렵게 만드는 몇 가지주의 사항이있어 패턴 / 접근의 이점을 무효화합니다. 거의 모든 패턴 / 접근 방식을 반복하는 것은 매우 쉬운 일이 …

1
실생활에서 깨끗한 코드가 어떻게 보이는지 파악하는 데 어려움
저는 현재 Robert C. Martin의 "Clean Code : A Agile Software Craftsmanship 핸드북"을 읽고 작업하고 있습니다. 저자는 함수가 어떻게 한 가지만 수행해야하는지에 대해 이야기하므로 상대적으로 짧습니다. 특히 Martin은 다음과 같이 씁니다. 이는 if 문, else 문, while 문 등의 블록이 한 줄 길이 여야 함을 의미합니다. 아마도 그 라인은 함수 …
10 clean-code 

2
게터와 세터를 피하고 사용자 정보를 표시하십시오.
배경 나는 "Clean Code book"을 읽고, 병렬로, 은행가 계좌와 같은 카스 테 닉 객체 Kata를 작업하고 있으며 그 규칙을 고수하고 있습니다. calisthenic 객체의 9 번째 규칙은 getter 또는 setter를 사용하지 않는 것입니다. 꽤 재밌는 것 같고이 원칙에 동의합니다. 또한 Clean Code 98-99 페이지에서 저자는 getters / setter가 추상화를 깨뜨리고 객체를 …

3
깨끗한 코드와 하이브리드 객체 및 기능 부러워
그래서 최근에 코드에 몇 가지 주요 리팩토링을 만들었습니다. 내가하려고했던 주요 작업 중 하나는 클래스를 데이터 객체와 작업자 객체로 분리하는 것이 었습니다. 이것은 Clean Code 의이 섹션에서 영감을 얻었습니다 . 하이브리드 이 혼동은 때때로 반 객체와 반 데이터 구조 인 불행한 하이브리드 데이터 구조로 이어집니다. 중요한 기능을 수행하는 함수가 있으며, 모든 …

5
이 문제에 대한 순수한 기능적 해결책이 명령만큼이나 깨끗할 수 있습니까?
다음과 같이 Python에서 운동을합니다. 다항식은 거듭 제곱이 지수에 의해 결정되도록 계수의 튜플로 제공됩니다. 예 : (9,7,5)는 9 + 7 * x + 5 * x ^ 2를 의미합니다. 주어진 x에 대한 값을 계산하는 함수를 작성 최근에 함수형 프로그래밍을하고 있었기 때문에 def evaluate1(poly, x): coeff = 0 power = 1 return …

7
조건을 중복 확인하는 것이 나쁜 스타일입니까?
종종 내 코드에서 특정 조건을 반복해서 확인하는 위치에 도달합니다. "a"로 시작하는 줄, "b"로 시작하는 줄 및 다른 줄을 포함하는 텍스트 파일이 있고 실제로 처음 두 종류의 줄만 사용하고 싶다고 가정합니다. 내 코드는 다음과 같습니다 (파이썬을 사용하지만 의사 코드로 읽음). # ... clear_lines() # removes every other line than those starting …

4
응답 처리를위한 디자인 패턴
대부분의 경우 특정 함수 호출에 대한 응답을 처리하는 코드를 작성할 때 다음 코드 구조를 얻습니다. 예 : 로그인 시스템의 인증을 처리하는 기능입니다 class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong password'){ //increase the login trials counter //send mail to admin //store visitor ip }else if($result=='wrong …

6
추상 클래스에는 어떤 코드가 포함되어야합니까?
나는 최근에 추상 클래스 사용에 대해 고민하고 있습니다. 때로는 추상 클래스가 미리 만들어져 파생 클래스가 작동하는 방식의 템플릿으로 작동합니다. 이는 다소 높은 수준의 기능을 제공하지만 파생 클래스에서 구현할 특정 세부 정보를 생략한다는 것을 의미합니다. 추상 클래스는 몇 가지 추상 메소드를 배치하여 이러한 세부 사항의 필요성을 정의합니다. 이러한 경우 추상 클래스는 …

1
주석에서 "TILT"는 무엇을 의미합니까?
Robert C. Martin의 Clean Code 를 읽고 있는데이 코드TILT 는 일부 코드 샘플에 설명 할 수 없습니다. 예를 들어 (Java로되어 있음) : ... public String errorMessage() { switch (status) { case ErrorCode.OK: // TILT - Should not get here. return ""; case ErrorCode.UNEXPECTED_ARGUMENT: return "Unexpected argument"; case ErrorCode.MISSING_ARGUMENT: return "Missing …

7
수업을 너무 세분화하고 있습니까? 단일 책임 원칙을 어떻게 적용해야합니까?
세 가지 기본 단계를 포함하는 많은 코드를 작성합니다. 어딘가에서 데이터를 가져옵니다. 그 데이터를 변환하십시오. 그 데이터를 어딘가에 두십시오. 나는 일반적으로 각각의 디자인 패턴에서 영감을 얻은 세 가지 유형의 클래스를 사용합니다. 공장-일부 리소스에서 개체를 작성합니다. 중재자-공장을 사용하고 변형을 수행 한 다음 지휘관을 사용하십시오. 지휘관-그 데이터를 다른 곳에 두십시오. 제 수업은 매우 …

6
switch 문에서 스위치를 줄이는 방법은 무엇입니까?
그래서 데이터베이스에서 두 사람을 기반으로 인사말 줄을 만드는 방법을 만들고 있습니다. 두 개의 이름 ( name1및 name2)과 두 개의 성별 ( gender및 gender2)의 네 가지 매개 변수가 있습니다 . 모든 성별 조합에 대해, 나는 다른 결과를 가지고 있습니다. 예를 들어, 성별 1이 M(man)이고 성별 2도 M이면 출력은 다음과 같아야합니다. Dear …

3
iOS 개발에서 웹 서비스에서 데이터를 가져 오기 위해 Http 요청을 작성하는 메소드를 어디에 배치해야합니까?
iOS 응용 프로그램에 Model Car가 있는데 이름, 연도, 값 등과 같은 매개 변수가 자동차 서비스로 목록을 채우기 위해 웹 서비스에서 가져옵니다. 비동기식으로 서버로 이동하고 자동차 배열을 반환하는 메소드를 어디에 두어야합니까 (이 메소드는 이미 JSON을 Car 배열로 변환합니다)? 내 현재 접근 방식은 HttpClient (클라이언트를 조롱하는 단위 테스트를 수행 할 수 있음)를 …

7
메소드가 false를 리턴하는지 확인 : 결과를 임시 변수에 지정하거나 메소드 호출을 조건부로 직접 넣습니까?
if 문에서 true 또는 false 값을 반환하는 메서드를 호출하는 것이 좋은 방법입니까? 이 같은: private void VerifyAccount() { if (!ValidateCredentials(txtUser.Text, txtPassword.Text)) { MessageBox.Show("Invalid user name or password"); } } private bool ValidateCredentials(string userName, string password) { string existingPassword = GetUserPassword(userName); if (existingPassword == null) return false; var hasher = new …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.