목차
가장 좋은 코드는 작성되지 않은 코드입니다
백엔드 개발 PHP 튜토리얼 꼭 알아야 할 10가지 프로그래밍 팁

꼭 알아야 할 10가지 프로그래밍 팁

Sep 17, 2017 am 10:25 AM
배우다 기능 프로그램 작성

추상: 좋은 코드를 작성하는 방법은 무엇입니까? 좋은 코드는 읽기 쉽고, 이해하기 쉽고, 디버그하기 쉽고, 변경하기 쉽고, 가장 중요하게는 결함이 거의 없는 것으로 정의할 수 있습니다. 분명히 좋은 코드를 입력하는 데는 많은 시간이 걸리지만 코드를 유지 관리하고 재사용하는 데 소요되는 시간과 에너지를 줄일 수 있으므로 장기적으로는 의미가 있습니다. 이것은 30년의 소프트웨어 경험을 가진 숙련된 프로그래머의 요약입니다.一 왜 좋은 코드를 녹아웃하는가?

좋은 코드는 읽기 쉽고, 이해하기 쉽고, 디버깅하고, 변경하기 쉽고, 가장 중요한 것은 결함이 적은 것으로 정의할 수 있습니다. 분명히 좋은 코드를 입력하는 데는 많은 시간이 걸리지만 코드를 유지 관리하고 재사용하는 데 소요되는 시간과 에너지를 줄일 수 있으므로 장기적으로는 의미가 있습니다.

사실 좋은 코드는 재사용 가능한 코드와 동일시할 수 있는데, 이 역시 아래에 언급된 중요한 원칙 중 하나입니다. 코드는 프로그래밍 작업의 단기 목표를 위해 특정 기능만 수행할 수 있지만, 누구도(자신을 포함하여) 코드를 재사용하려고 하지 않으면 그 코드는 어떤 면에서 불충분하고 결함이 있다고 말할 수 있습니다. 너무 복잡하거나, 너무 구체적이거나, 다른 상황에서 깨질 가능성이 높거나, 다른 프로그래머가 귀하의 코드를 신뢰하지 않을 수 있습니다.

경험 수준에 관계없이 다음 팁을 코드(실험 또는 프로토타입 포함)에 지속적으로 적용하면 손끝에서 좋은 코드를 얻을 수 있습니다.

1. 단일 책임 원칙을 따르세요

함수는 프로그래머 라이브러리에서 가장 중요한 단일 추상 형식입니다. 재사용 기회가 많을수록 작성해야 하는 코드가 줄어들고 해당 코드의 안정성이 높아집니다. 단일 책임 원칙을 따르는 작은 함수는 재사용 가능성이 더 높습니다.

2. 공유 상태 최소화

파일 범위 변수이든 객체의 멤버 필드이든 관계없이 함수 간의 암시적 공유 상태를 최소화해야 합니다. 이렇게 하면 필요한 값을 매개 변수로 명시적으로 전달하는 것이 쉬워집니다. 함수가 원하는 결과를 얻는 것이 분명하면 코드를 이해하고 재사용하기가 더 쉬워집니다.

이로부터 한 가지 결론을 내릴 수 있습니다. 객체의 멤버 변수보다 정적 상태 비저장 변수를 선호해야 한다는 것입니다.

3. 지역화된 부작용

이상적인 부작용(예: 콘솔에 인쇄, 로깅, 전역 상태 변경, 파일 시스템 작업 등)은 코드 전체에 분산되지 않고 별도의 모듈에 배치되어야 합니다. 기능적 부작용은 단일 책임 원칙을 위반하는 경우가 많습니다.

4. 불변 객체를 선호하세요

객체의 상태가 생성자에서 한 번 설정되고 다시 변경되지 않으면 올바르게 생성된 후에는 유효하게 유지되므로 디버깅이 훨씬 쉬워집니다. 이는 소프트웨어 프로젝트의 복잡성을 줄이는 가장 쉬운 방법 중 하나입니다.

5. 인터페이스는 더 많이 사용하고 클래스는 적게 사용하세요.

인터페이스(또는 C++의 템플릿 매개변수나 개념)를 허용하는 함수는 클래스에서 작동하는 함수보다 재사용성이 더 높습니다.

6. 모듈에 좋은 원칙을 적용합니다.

소프트웨어 프로젝트를 더 작은 모듈(예: 라이브러리 및 애플리케이션)로 나누어 모듈 재사용을 달성합니다. 모듈의 몇 가지 주요 원칙은 다음과 같습니다.

의존성 최소화
  1. 모든 프로젝트에는 하나의 명확한 기능이 있어야 합니다.
  2. 반복하지 마세요.
  3. 프로젝트를 작고 명확하게 유지하기 위해 노력해야 합니다.
7. 상속을 피하세요

객체 지향 프로그래밍에서 상속, 특히 가상 함수는 재사용성에 있어서 아킬레스건인 경우가 많습니다. 클래스를 재정의하는 라이브러리를 사용하여 성공한 경우는 거의 없습니다.

8. 디자인하고 개발하는 만큼 테스트하세요

저는 테스트 주도 개발을 별로 좋아하지 않지만, 테스트 코드를 작성하기 시작하면 테스트를 작성할 때 자연스럽게 따르는 지침이 많이 있습니다. 또한 오류를 조기에 노출하는 데 도움이 됩니다. 쓸모없는 테스트 작성을 피하세요. 좋은 코딩은 고급 테스트(예: 단위 테스트의 통합 테스트 또는 기능 테스트)가 결함을 표시하는 데 더 효과적이라는 것을 의미합니다.

9. 손으로 작성한 표준 라이브러리를 선호하세요

std::Vector 또는 std::string 더 나은 버전을 보는 데 시간이 얼마나 걸릴지는 알 수 없지만 거의 항상 시간과 노력 낭비입니다. 새로운 장소에 버그를 도입한다는 명백한 사실을 제외하면. (팁 10 참조) 다른 프로그래머는 널리 이해되고 지원되며 테스트된 코드보다 귀하의 코드를 재사용할 가능성이 적습니다.

10. 새로운 코드 작성을 피하세요

가장 중요한 점은 모든 프로그래머가 따라야 한다는 것입니다. "

가장 좋은 코드는 작성되지 않은 코드입니다

" (가장 좋은 코드는 작성할 필요가 없는 코드입니다.) 복사됨) . 코드가 많을수록 결함이 많아지고 버그를 찾아 수정하기가 더 어려워집니다.

코드 한 줄을 작성하기 전에 필요한 작업을 이미 수행하는 도구, 기능 또는 라이브러리가 있는지 자문해 보세요. 이미 존재하는 다른 함수를 호출하는 대신 이 함수를 직접 구현해야 합니까?
요약
프로그래밍은 예술이나 스포츠와 같습니다. 지속적인 연습과 다른 사람의 지속적인 학습을 통해서만 코드 품질을 지속적으로 향상시킬 수 있으며, 이는 보다 효율적인 프로그래머가 되는 데 도움이 됩니다.

위 내용은 꼭 알아야 할 10가지 프로그래밍 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

정규 표현식을 사용하여 PHP 배열에서 중복 값 제거 정규 표현식을 사용하여 PHP 배열에서 중복 값 제거 Apr 26, 2024 pm 04:33 PM

정규식을 사용하여 PHP 배열에서 중복 값을 제거하는 방법: 정규식 /(.*)(.+)/i를 사용하여 중복 항목을 일치시키고 바꿉니다. 배열 요소를 반복하고 preg_match를 사용하여 일치하는지 확인합니다. 일치하면 값을 건너뛰고, 그렇지 않으면 중복 값이 ​​없는 새 배열에 추가합니다.

프로그래밍이란 무엇을 위한 것이며 프로그래밍을 배워서 무슨 소용이 있습니까? 프로그래밍이란 무엇을 위한 것이며 프로그래밍을 배워서 무슨 소용이 있습니까? Apr 28, 2024 pm 01:34 PM

1. 프로그래밍은 웹사이트, 모바일 애플리케이션, 게임, 데이터 분석 도구 등 다양한 소프트웨어와 애플리케이션을 개발하는 데 사용될 수 있습니다. 응용 분야는 매우 광범위하여 과학 연구, 의료, 금융, 교육, 엔터테인먼트 등 거의 모든 산업을 포괄합니다. 2. 프로그래밍을 배우면 문제 해결 능력과 논리적 사고 능력을 향상하는 데 도움이 됩니다. 프로그래밍하는 동안 우리는 문제를 분석 및 이해하고, 해결책을 찾고, 이를 코드로 변환해야 합니다. 이러한 사고방식은 우리의 분석적이고 추상적인 능력을 키우고 실제적인 문제를 해결하는 능력을 향상시킬 수 있습니다.

C++ 프로그래밍 퍼즐 모음: 사고를 자극하고 프로그래밍 기술을 향상시킵니다. C++ 프로그래밍 퍼즐 모음: 사고를 자극하고 프로그래밍 기술을 향상시킵니다. Jun 01, 2024 pm 10:26 PM

C++ 프로그래밍 퍼즐은 피보나치 수열, 계승, 해밍 거리, 배열의 최대값과 최소값 등과 같은 알고리즘 및 데이터 구조 개념을 다룹니다. 이러한 퍼즐을 풀면 C++ 지식을 통합하고 알고리즘 이해 및 프로그래밍 기술을 향상시킬 수 있습니다.

Python을 사용한 문제 해결: 초보 코더로서 강력한 솔루션 잠금 해제 Python을 사용한 문제 해결: 초보 코더로서 강력한 솔루션 잠금 해제 Oct 11, 2024 pm 08:58 PM

Python은 초보자에게 문제 해결 능력을 부여합니다. 사용자 친화적인 구문, 광범위한 라이브러리 및 변수, 조건문 및 루프 사용 효율적인 코드 개발과 같은 기능을 제공합니다. 데이터 관리에서 프로그램 흐름 제어 및 반복 작업 수행에 이르기까지 Python은 제공합니다.

싸우는 대신 공놀이를 해보세요! 'Eternal Tribulation'의 새로운 모드인 열혈 투구의 게임 플레이 소개 싸우는 대신 공놀이를 해보세요! 'Eternal Tribulation'의 새로운 모드인 열혈 투구의 게임 플레이 소개 Apr 11, 2024 pm 01:52 PM

랭킹 플레이에 지치셨나요? 그렇다면 와서 공놀이를 해보세요! 암묵적으로 협력하는 팀원은 상대에게 놀라움을 선사할 수 있습니다! 시시각각 변화하는 전장에서 어떻게 스킬을 활용해 한 번의 움직임으로 상황을 무너뜨릴 수 있는지 시험해 보세요! '영원한 고난'은 4월 11일 업데이트에서 새로운 팀 대결 모드를 출시했습니다. 다음은 '영원한 고난' 열혈 투구 활동에 대한 소개입니다. 영원한 열혈 격투 공 플레이 방법 개요 : 다양한 수단을 사용하여 격투 공을 튕겨 적을 물리칩니다. 인원수: 1열 9명, 3열 6명 게임 방법: 라운드: 1. 게임은 여러 라운드로 나누어지며 각 라운드가 시작될 때 Douqiu가 필드 중앙에 태어나고 무작위로 플레이어를 선택해 쫓습니다. 플레이어는 다양한 수단을 사용하여 공격합니다. 공은 파이팅 볼의 속도를 높이고, 파이팅 볼에 맞으면 체력이 감소합니다. 2. 한 줄에 있는 사람은 라운드마다 체력 1포인트를 갖고, 세 줄에 있는 사람은 라운드마다 체력 1포인트를 얻습니다.

코딩의 핵심: 초보자를 위한 Python의 힘 활용 코딩의 핵심: 초보자를 위한 Python의 힘 활용 Oct 11, 2024 pm 12:17 PM

Python은 배우기 쉽고 강력한 기능을 통해 초보자에게 이상적인 프로그래밍 입문 언어입니다. 기본 사항은 다음과 같습니다. 변수: 데이터(숫자, 문자열, 목록 등)를 저장하는 데 사용됩니다. 데이터 유형: 변수의 데이터 유형(정수, 부동 소수점 등)을 정의합니다. 연산자: 수학 연산 및 비교에 사용됩니다. 제어 흐름: 코드 실행(조건문, 루프) 흐름을 제어합니다.

오류 처리를 위해 golang의 오류 래핑 및 해제 메커니즘을 사용하세요. 오류 처리를 위해 golang의 오류 래핑 및 해제 메커니즘을 사용하세요. Apr 25, 2024 am 08:15 AM

Go의 오류 처리에는 래핑 오류와 래핑 해제 오류가 포함됩니다. 오류 래핑을 사용하면 한 오류 유형을 다른 오류 유형으로 래핑하여 오류에 대한 더 풍부한 컨텍스트를 제공할 수 있습니다. 쉬운 디버깅을 위해 오류를 확장하고 중첩된 오류 체인을 탐색하여 가장 낮은 수준의 오류를 찾습니다. 이 두 가지 기술을 결합하면 오류 조건을 효과적으로 처리할 수 있어 더 풍부한 오류 컨텍스트와 더 나은 디버깅 기능을 제공할 수 있습니다.

C에 대한 이해: 새로운 프로그래머를 위한 명확하고 간단한 길 C에 대한 이해: 새로운 프로그래머를 위한 명확하고 간단한 길 Oct 11, 2024 pm 10:47 PM

C는 초보자가 시스템 프로그래밍을 배우기에 이상적인 선택입니다. 여기에는 헤더 파일, 기능 및 주요 기능이 포함되어 있습니다. "HelloWorld"를 인쇄할 수 있는 간단한 C 프로그램에는 표준 입출력 함수 선언이 포함된 헤더 파일이 필요하며 인쇄하려면 기본 함수에서 printf 함수를 사용합니다. C 프로그램은 GCC 컴파일러를 사용하여 컴파일하고 실행할 수 있습니다. 기본 사항을 마스터한 후에는 데이터 유형, 함수, 배열 및 파일 처리와 같은 주제로 이동하여 능숙한 C 프로그래머가 될 수 있습니다.

See all articles