일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 개발
- 에어플로우
- DataWarehouse
- Amazon
- WEB
- 프로그래머스
- 데브코스
- 관계형데이터베이스
- 데이터엔지니어링
- 클라우드
- 운영체제
- 자료구조
- 데이터엔지니어
- 웹크롤링
- 알고리즘
- 파이썬
- 웹자동화
- airflow
- SQL
- Service
- 데이터웨어하우스
- AWS
- 데이터베이스
- CS
- Django
- 취준
- 웹스크래핑
- 부트캠프
- 개념정리
- 기술면접
- Today
- Total
사진과 음악을 좋아하는 개발자 지망생의 블로그
1. 좋은 코드란 무엇인가 본문
코드란 무엇인가
- 컴퓨터 또는 기계에게 어떤 연산이나 행동을 지시하는 문서
- 그런데 내가 작성한 문서 내용과 관련된 모든 사람이 씹고 뜯고 맛보고 즐기는...
- 그래서, 내가 작성한 문서를 누군가가 검토해주거, 또는 가져다가 쓸 경우가 반드시 발생한다.
- 이를 대비하기 위해 문서 작성시, 가독성은 높게, 수정은 편하게 작성해야 한다
좋은 코드란 무엇인가?
- 성능은 당연하고, 본인 뿐만 아니라 다른 사람이 읽거나 가져다 수정하기 편하게 작성된 코드
→ 읽기 편한(적절한 주석과 읽는 사람의 배경지식을 반영한 + 일관성) 코드, 중복이 없는 코드, 가져다 쓰기(확장성 있는) 편한 코드 등등
1. 읽기 쉬운 코드?
- 내가 만약 공고문을 작성해서 모든 사람들에게 뿌렸다고 가정해보자
- 그 공고문에 주석이 덕지덕지 붙어있으면 오히려 가독성이 떨어질거다
- 또한, 공고문을 작성하면서 상사의 피드백에 의해 이런저런 내용이 수정되다 보면 수정된 내용이 주석에 반영되지 않을수도 있다
- 게다가, 주석을 적절히 사용해서 읽기 쉬운 공고문을 작성하였다 해도, 그 안에 쓰여진 용어들이 그 공고문을 읽는 사람들의 지식 배경에 따라 이해하는 정도가 다를것이다
- 따라서, 읽기 쉬운 코드를 작성한다는 것 -> 내 코드를 읽는 사람들의 배경지식을 반영하여 적절히 주석까지 겻들여서 작성한 코드
2. 중복이 없는 코드?
- 문서에서 어떤 한 내용을 중복해서 쓰게되면, 문서량이 쓸 데 없이 방대해지며, 한 곳에서 수정을 하게되면 중복된 내용이 쓰여진 모든 부분에서 수정사항을 반영해야 함에 따라 불필요한 비용이 발생한다
- 이렇게되면, 독자도 작성자도 상당히 피곤해진다
- 코드도 마찬가지이다.
- 반복된 내용은 별도로 추출을 해놓는 게 가독성 측면에서, 유지 보수 측면에서 모두 좋다
- 하지만, 중복 없는 코드가 만능인 것은 아니다
- A라는 기능을 하는 코드가 중복이 발생하여 별도로 추출였다고 하자
- 만약, A라는 기능을 하는 코드가 필요에 의해 A + a 기능을 하는 코드로 수정이 필요해지면 그것에 따르는 비용이 발생한다
- 따라서, 중복이 없애기 위한 코드를 작성할 때, 별도로 추출한 코드에서 변경 사항을 반영해야 할 경우가 발생할 수 있으며, 그에따른 비용도 발생할 수 있음을 숙지해야한다.
'CS > 개발 기본 상식' 카테고리의 다른 글
4. TDD(Test Driven Development) (0) | 2023.10.17 |
---|---|
3. REST(ful) API (0) | 2023.10.17 |
2. Object Oriented Programming(객체지향 프로그래밍) (1) | 2023.10.16 |