«readability» 태그된 질문

가독성은 코드를 읽고 이해하는 것이 얼마나 쉬운 지 측정합니다.

14
왜 많은 개발자들이 성능, 가독성 및 유지 관리 성이 공존 할 수 없다고 생각합니까?
이 질문에 답 하면서 , 왜 많은 개발자들이 좋은 디자인이 성능을 설명하지 않아야한다고 생각하는지 궁금해지기 시작했습니다. 그렇게하면 가독성 및 / 또는 유지 관리에 영향을 줄 수 있기 때문입니다. 좋은 디자인은 디자인 할 때 성능도 고려한다고 생각하며, 좋은 디자인을 가진 좋은 개발자는 가독성이나 유지 관리에 부정적인 영향을 미치지 않으면 서 효율적인 …

6
중첩 루프가 나쁜 습관으로 간주되는 이유는 무엇입니까?
내 강사는 오늘 중첩 루프를 다룰 때 참조 할 수 있도록 Java에서 루프에 "레이블"을 지정할 수 있다고 언급했습니다. 그래서 나는 알지 못했던 기능 과이 기능이 설명 된 많은 곳에서 경고를 보냈으며 중첩 루프를 낙담했습니다. 왜 그런지 모르겠어요? 코드의 가독성에 영향을 미치기 때문입니까? 아니면 더 "기술적"인가?

9
while (true) 및 루프 브레이킹-안티 패턴?
다음 코드를 고려하십시오. public void doSomething(int input) { while(true) { TransformInSomeWay(input); if(ProcessingComplete(input)) break; DoSomethingElseTo(input); } } 이 프로세스에는 유한하지만 입력 종속적 인 단계가 포함되어 있다고 가정합니다. 루프는 알고리즘의 결과로 자체적으로 종료되도록 설계되었으며 무한정 실행되도록 설계되지 않았습니다 (외부 이벤트에 의해 취소 될 때까지). 루프가 끝나야하는지 확인하는 테스트가 논리적 단계 집합의 중간에 …

16
단순성이 항상 가독성을 향상 시킵니까?
최근에 저는 회사의 코딩 표준 세트를 개발하고있었습니다. (우리는 회사의 새로운 언어로 분기하는 새로운 팀입니다.) 첫 번째 초안에서 코딩 표준의 목적을 가독성, 유지 관리 성, 신뢰성 및 성능 향상으로 설정했습니다. (쓰기, 이식성, 비용, 이전 표준과의 호환성 등을 무시했습니다.) 이 문서를 작성하는 동안 나의 목표 중 하나는 코드의 단순성이라는 아이디어를 추진하는 것이 …

4
매직 문자열 / 숫자 사용법 [닫힘]
이것은 다소 논란의 여지가있는 주제이며 프로그래머가있는만큼 많은 의견이 있다고 생각합니다. 그러나 그것을 위해, 나는 사업 (또는 직장)에서 일반적인 관행이 무엇인지 알고 싶습니다. 우리 직장에는 엄격한 코딩 지침이 있습니다. 그 중 한 섹션은 마법의 문자열 / 숫자 전용입니다. (C #의 경우) 기호 상수를 정의하기 위해 코드에 리터럴 값 (숫자 또는 문자열)을 …

5
귀찮은 스타일 / 위험한 후 작업을 수행하기 위해 finally 절을 사용합니까?
Iterator를 작성하는 과정에서 다음 코드를 작성하는 것을 발견했습니다 (오류 처리 중단). public T next() { try { return next; } finally { next = fetcher.fetchNext(next); } } 읽는 것보다 약간 더 읽기 쉽다 public T next() { T tmp = next; next = fetcher.fetchNext(next); return tmp; } 나는 가독성의 차이가 …

12
사람들은 어떻게 코드를 작성하는 것이 매우 복잡하고 읽기 어려운가요? [닫은]
SQLite 소스 코드를 읽는 것은 IMO 임무가 불가능합니다. 그러나 다른 코드에서 다운로드, 컴파일 및 사용할 수있는 매우 복잡한 소프트웨어 (완전히 내장 된 내장 데이터베이스)이며, 지속적으로 업데이트됩니다. 사람들이 그렇게 복잡하고 읽기 어려운 코드를 작성하고 유지 관리하는 방법은 무엇입니까?

8
다른 프로그래머들에게 의존성을 극명하게 만드는 프로그래밍 패러다임이 있습니까?
다양한 아티팩트를 연결하는 미로와 같은 종속성을 가진 여러 스트림과 계층을 통해 여러 시스템을 소스로 제공하는 데이터웨어 하우스에서 작업합니다. 거의 매일 나는 다음과 같은 상황에 처하게됩니다 : 나는 무언가를 실행하고, 작동하지 않고, 많은 코드를 겪지 만 몇 시간 후에 나는 내가 아는 것의 작은 부분에 대한 프로세스 맵을 개념화 할 수 …

11
접미사 증가 연산자 피
성능상의 이유로 (일부 경우) 접미사 증가 연산자를 피해야 한다는 것을 읽었습니다 . 그러나 이것이 코드 가독성에 영향을 미치지 않습니까? 내 의견으로는 : for(int i = 0; i < 42; i++); /* i will never equal 42! */ 다음보다 낫습니다. for(int i = 0; i < 42; ++i); /* i will …

7
필수는 아니지만 선택적 매개 변수 이름을 지정 하시겠습니까?
다음 방법을 고려하십시오. public List<Guid> ReturnEmployeeIds(bool includeManagement = false) { } 그리고 다음 전화 : var ids = ReturnEmployeeIds(true); 시스템을 처음 사용하는 개발자의 경우 어떤 일을 true했는지 추측하기가 매우 어렵습니다 . 가장 먼저 할 일은 메소드 이름 위로 마우스를 가져 가거나 정의로 이동하는 것입니다 (두 가지 중 가장 큰 작업은 …

2
where 조건과 continue 가드 절을 사용하여 foreach 필터링
일부 프로그래머가 이것을 사용하는 것을 보았습니다. foreach (var item in items) { if (item.Field != null) continue; if (item.State != ItemStates.Deleted) continue; // code } 내가 일반적으로 사용하는 대신 foreach (var item in items.Where(i => i.Field != null && i.State != ItemStates.Deleted)) { // code } 나는 둘 다의 조합을 …

4
플러그인은 후크, 이벤트 또는 다른 무엇을 사용해야합니까?
플러그인이 프로그램 흐름에 반응 할 수있는 앱을 고려하십시오. 나는 이것을 달성하는 두 가지 방법을 알고 있습니다 : 갈고리 와 사건 1. 후크 주 프로그램 흐름 내에서 함수를 비우려면 호출을 사용하십시오. 이러한 기능은 플러그인으로 대체 할 수 있습니다. 예를 들어 Drupal CMS는 모듈과 테마에 사용 가능한 후크를 구현합니다. 다음은 file_copy 함수 …

2
동일한 기능을하는 다른 기능 서명을 제공하는 것이 좋습니다?
다음은 세 가지 값으로 구성된 C ++ 클래스입니다. class Foo{ //Constructor Foo(std::string, int, char); private: std::string foo; char bar; int baz; }; 모든 매개 변수 유형이 다릅니다. 순서가 중요하지 않도록 생성자를 오버로드 할 수 있습니다. class Foo{ //Constructors Foo(std::string, char, int); Foo(std::string, int, char); Foo(char, int, std::string); Foo(char, std::string, int); …

7
'var'과 null 병합 연산자 '??'는 얼마나 멀리 있어야합니까? 가독성을 저해하지 않으면 서 즐겁게 지낼 수 있습니까?
이 질문은 Software Engineering Stack Exchange에서 답변을 얻을 수 있기 때문에 Code Review Stack Exchange에서 마이그레이션 되었습니다. 8 년 전에 이주했습니다 . 나는 질문의 제목이 매우 주관적이라는 것을 알고 있지만 ??동료 들이 운영자 를 사용하는 것에 직면했다 var. ??연산자 를 사용하기 위해 주어진 주장 은 코드의 가독성을 없애줍니다. 내 질문은, …

12
내부 구조가 있으면 긴 기능을 사용할 수 있습니까?
Python 및 D와 같은 중첩 함수를 지원하는 언어에서 복잡한 알고리즘을 처리 할 때 알고리즘이 복잡하기 때문에 종종 큰 함수를 작성하지만 중첩 함수를 사용하여 복잡한 코드를 구성하여이를 완화합니다. 중첩 된 함수를 사용하여 내부적으로 잘 구조화되어 있어도 거대한 (100+ 라인) 함수가 여전히 악의적 인 것으로 간주됩니까? 편집 : Python 또는 D에 익숙하지 …

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