컴퓨터 개론

Codeit_좋은 코드란 무엇일까?

AngeRay 2021. 6. 4. 21:45

좋은 코드란 무엇일까?


단순히 기능이 잘 동작한다고 해서 좋은 코드인 것은 아니다.

그냥 동작하는 프로그램을 만드는 데만 중점을 두고 공부하다 보면 잘못된 습관이 생길 수도 있다.

코드의 퀄리티는 프로그래밍에서 매우 중요하기 때문에 어떤 코드가 좋은 코드인지 반드시 이해하고 있어야 한다.

뛰어나다는 평가를 받기 위해서는 반드시 내가 작성한 코드의 퀄리티가 높아져야 한다.

그걸 보고 실력을 판단하기 때문이다.

어떻게 하면 좋은 코드를 작성하고, 프로그래밍 언어를 잘 활용할 수 있을지 알아보자 :)

 

읽기 쉬운 코드

개발자들은 코드를 통해서 컴퓨터와 소통한다.

작성한 코드에 에러가 없다는 것은 컴퓨터에 우리 이야기를 정확히 전달했다는 것을 의미한다.

개발자들이 코드로 소통하는 또다른 존재가 있다. 바로 다른 개발자 이다.

개발자들은 협업하는 경우도 많기 때문에 컴퓨터가 정확하게 이해하면서 사람도 읽기 쉬운 코드를 작성해야 한다.

이렇게 개발자들이 읽기 쉬운 코드를 가독성이 좋은 코드 라고 한다.

읽기 쉬운 코드 즉 가독성 높은 코드를 작성하기 위해서 필요한 것들이 있다.

 

첫번째는 코멘트 이다.

프로그래밍 코드인데 실행에는 영향을 미치지 않는 부분을 말한다.

컴퓨터가 아닌 사람에게만 전하는 메세지와 같다.

프로그래밍 언어마다 코멘트를 쓰는 문법이 있다.

 

파이썬 : #으로 시작하면 코멘트로 처리 된다. 코드의 색이 회색으로 변하면 실행이 안된다는 표시 이다.

C :  // 빗금 두 개로 시작하면 코멘트가 된다.

 

코멘트를 활용해서 각 기능이 어떤 의도인지 주의할 점이 무엇인지 등등을 적어 주면 코드의 가독성을 높이는 데 도움이 된다.

그리고 중요한 점은 너무 난발하는 것도 좋지 않다.

상황에 맞는 적절한 comment를 잘 파악한다.

 

두번째는 이름 잘 짓기 이다.

이름을 잘 짓는 것은 프로그래머들의 숙명과도 같다.

변수, 함수 등에는 모두 다 이름을 붙여 줘야 되기 때문에 코딩을 하다 보면 이름을 지을 일이 상당히 많다.

이름은 너무 일반적인 것도 너무 구체적인 것도 좋지 않다.

전체적인 코드의 흐름 안에서 충분히 구체적이고 간결한 이름을 만들어 내야 한다.

 

스타일 가이드 활용하기

가독성 좋은 코드를 작성하기 위해 좋은 이름과 코멘트를 작성해야 되는데 이건 좀 주관적일 수 있다.

 

변수 작성시 작성법

  • snake 표기법
  • pascal 표기법
  • camel 표기법 (자바에서 class 이름은 Upper Camel Case 로 작성한다.)

코멘트든 변수든 일정한 규칙이 있어야 더 깔끔하고 보기가 좋다.

왜냐면 저마다 다르게 작성하면 규칙성이 없어서 보기 힘들다.

그래서 각 언어마다 '스타일 가이드' 라는 게 존재한다.

즉 코딩 시 최소한 각 언어에 맞는 스타일 가이드에 맞게 해야 기본은 있는 코딩이 되는 것이다.

 

각 언어의 스타일 가이드 검색 시 구글에서 언어 + 스타일 가이드 를 입력한다.

 

가독성이 좋은 코드를 작성하는 데 있어서 굉장히 중요한 부분 중 하나가 스타일 가이드 이다. 

Convention 이라고도 한다.

스타일 가이드를 잘 적용시키면 가독성이 좋을 뿐 만 아니라, 여러 사람들이 동시에 작업을 할 때 생길 수 있는 혼선을 막는다.

 

Python 공식 스타일 가이드(PEP8) : https://www.python.org/dev/peps/pep-0008/

 

PEP 8 -- Style Guide for Python Code

The official home of the Python Programming Language

www.python.org

 

Google Python 스타일 가이드 : https://github.com/google/styleguide/blob/gh-pages/pyguide.md

 

google/styleguide

Style guides for Google-originated open-source projects - google/styleguide

github.com

 

JavaScript 표준 스타일 가이드 : https://standardjs.com/

 

JavaScript Standard Style

JavaScript Standard Style Sponsored by     English • Español (Latinoamérica) • Français • Bahasa Indonesia • Italiano (Italian) • 日本語 (Japanese) • 한국어 (Korean) • Português (Brasil) • 简体中文 (Simplified Chinese) •

standardjs.com

 

Google JavaScript 스타일 가이드 : https://google.github.io/styleguide/jsguide.html

 

Google JavaScript Style Guide

Google JavaScript Style Guide 1 Introduction This document serves as the complete definition of Google’s coding standards for source code in the JavaScript programming language. A JavaScript source file is described as being in Google Style if and only i

google.github.io

 

Java를 소유한 회사 오라클의 스타일 가이드 : https://www.oracle.com/technetwork/java/codeconvtoc-136057.html

 

Google Java 스타일 가이드 : https://google.github.io/styleguide/javaguide.html

 

Google Java Style Guide

1 Introduction This document serves as the complete definition of Google's coding standards for source code in the Java™ Programming Language. A Java source file is described as being in Google Style if and only if it adheres to the rules herein. Like ot

google.github.io

 

구조화가 잘 된 코드

구조화가 잘 된 코드를 위해서 코드 분리, 즉 파일 분리가 필요하다.

파일 분리란 관련된 코드를 필요한 만큼 한곳에 모아두는 것이다.

객체 지향 프로그래밍은 구조화 매우 중요하다. 즉 파일 분리가 중요하다.

 

디자인 패턴(Design Pattern)이란 프로그래밍에서 고질적으로 발생하는 문제들을 해결하기 위한 테크닉 이다.

즉 프로그래밍에서 어떤 문제가 발생하면 그에 대한 해결책은 보통 이미 나와 있다.

우리는 그걸 살펴보고 선택해서 적용하면 되는 것이다.

 

객체 지향 프로그래밍, Design Pattern 을 활용하면 좋은 코드 구조를 만들 수 있다.