코드의 디자인

박상록(Sangrok Park)·2021년 1월 27일
0

Computer Science Basic

목록 보기
9/13

테스트의 중요성

각기 다른 사람들이 코드, 기능을 추가 했을 때, 기능이 고장나지 않도록 작동여부를 확인해 줘야함. 그래서 테스트가 중요함.

코드 스타일의 중요성

이렇게 적어도 컴퓨터는 게의치 않는다.

#include <stdio>

int main(void){printf("hello, world\n")};

하지만 읽는 사람은 알아보기 힘들다. 회사마다 비용 즉 이해하는데 시간을 줄이기위해 코딩컨벤션을 사용한다.

강의 자체에서 제공하는 Style50라는 라이브러리가 이렇게 코드를 바로 잡아준다고 한다.

#include <stdio>

int main(void)
{
    printf("hello, world\n")
}

VSCoode에서 자주 쓰고 있는 "Prettier"랑 비슷한 것 같다!

아래는 강의에서 제공하는 스타일 가이드

https://cs50.readthedocs.io/style/c/

앞으로 우리가 볼 문제들은 이 세가지를 항상 물어볼 것이다

  1. 제대로 작동 하는가?
  2. 보기좋게 작성이 됐는가?
  3. 소프트웨어 디자인이 잘 되어있는가?

이 중 마지막, 디자인에 대해서
소프트웨어 디자인은 주관적일 수도 있지만, 아주 중요한 부분이기도 하다.
거대한 양의 데이터를 다루는 작업일 수록 이 디자인에 따라 비용, CPU사이클, 메모리사용량이 달라지기도 하기 때문이다.

현재 파이널 프로젝트에 구글 Map API들을 이용하며 뼈저리게 느끼는 부분. 공짜는 없다!

좋은 코드 디자인 -> 문제 해결을 더 잘 할 수 있음

만약 여러 사람들이 함께 참여하는 프로젝트에서, 각자가 작성하는 코드 스타일 서로 다르다면 어떤 비효율적인 일이 발생할까요?

나의 답: 각기 다른 변수 네이밍 스타일, 각기 다른 인덴테이션, 각기 다른 구조로 서로의 코드를 이해하는데 많은 시간이 소요할 것이며, 서로 묻고 또 묻고 또 물어야 할 수 도 있다. 그렇기에 코드스타일은 항상 컨벤션에 의해 통합하는게 유지, 보수, 가독성, 시간절약 (그리고 스트레스...) 측면에서 더 좋다고 생각한다.

출처 : [부스트코스] 모두를 위한 컴퓨터 과학 (CS50 2019) (https://www.boostcourse.org/)

profile
한 줌의 소금과 같이 되고 싶은 개발자

0개의 댓글