요즘 코드를 많이 해보면서 남들을 보여줬을 때 반응은 하나 같이 이해하기 힘들다는 평이 많았다. 코드 나 혼자 잘하는건 중요하지 않다. 개발자의 궁금적인 목적은 협업해서 하나의 결과물을 만들어 내는 것이기 때문에 남들이 보기에도 알기 쉽게 만들어 내는것이 중요하다. 물론 돌아가는거 다 똑같이 돌아가겠지.. 그래서 클린코드(Clean Code)가 중요하다고 느끼는 요즘이다.
가장 먼저 들었던 얘기. 라이브러리, 패키지, 모듈 정리!!!
라이브러리는 여러 패키지와 모듈을 모아둔 것을 의미한다. 일반적으로 특정 기능을 위해 재사용 가능한 코드 블록을 제공한다. 예를들어, Numpy, Pandas, Matplotlib, Seaborn, pytest, Plotly, Scrapy
패키지는 관련된 여러 모듈을 디렉토리 구조로 묶은 것이다. 패키지는 모듈의 네임스페이스 충돌을 방지하고, 모듈들을 논리적으로 그룹화한다. 패키지는 하위 디렉토리에 init.py파일을 포함하여 해당 디렉토리를 패키지로 인식시킨다. 예를들어, scikit-learn, flask, tensorflow, django, PyQt
모듈은 파이썬 파일(.py)로서, 함수, 클래스 또는 변수 등의 코드 블록을 정의한다. 모듈은 다른 파이썬 프로그램에서 import 하여 재사용할 수 있다. 일반적으로 파일 하나(모듈.py)가 된다. 예를들어, os, sys, math, random, datetime, json, time, re
함수(function)과 메소드(method)의 차이
함수(function) 는 독립적으로 정의된 코드 블록이다. 특정 작읍을 수행하도록 설계된다.
def add(a, b):
return a + b
result = add(3, 5)