먼저 순수하다는 것을 생각해보았을 때 어떤 것의 본질이나 진정성이 변하지 않고 그대로 유지되는 상태를 의미한다고 할 수 있습니다.
순수하다는 것
사람의 마음이나 감정, 또는 사물의 성질에 적용될 수 있습니다. 예를 들어, 순수한 마음은 이기심이나 편견이 없는 상태를 말하며, 순수한 물은 불순물이 섞이지 않은 깨끗한 상태를 의미합니다.
순수함은 종종 긍정적인 가치로 여겨지며, 진실함, 소박함, 그리고 신뢰성을 내포하고 있습니다.
프로그래밍과 사회의 순수함
프로그래밍과 사회는 여러 면에서 유사성을 지니고 있습니다. 코드의 구조와 사회의 구조, 알고리즘의 작동 방식과 인간의 상호작용 방식이 서로 닮아 있는 점이 많습니다.
프로그래밍에서 '순수'라는 개념은 종종 코드의 간결함, 효율성, 그리고 가독성과 관련이 있습니다. 순수한 함수는 입력에 대해 항상 동일한 출력을 제공하며, 부작용이 없는 특성을 가집니다. 이는 사회에서도 공정함과 일관성을 나타내는 가치와 연결될 수 있습니다.
사회에서 '순수함'은 진정한 의도와 감정이 결합된 상태를 의미할 수 있습니다. 사람들 간의 관계에서 순수함은 신뢰, 진실, 그리고 이기심 없는 사랑으로 나타납니다. 이러한 순수함은 인간관계를 더욱 깊고 의미 있게 만들어 줍니다.
프로그래밍에서 순수한 코드는 유지보수가 쉽고, 다른 개발자와의 협업을 원활하게 합니다. 이는 사회에서도 마찬가지로, 투명하고 솔직한 소통이 이루어질 때 공동체가 더욱 건강하게 성장할 수 있음을 시사합니다.
결국, 순수함은 프로그래밍에서도 사회에서도 신뢰와 효율성을 증대시키는 중요한 요소로 작용하며, 이는 우리가 더 나은 시스템과 관계를 구축하는 데 기여할 수 있습니다.
순수한 코드
"순수한 코드"라는 개념은 일반적으로 "잘 정제되고 다듬어진 코드"를 의미하는 경우가 많습니다.
코드가 순수하다는 것은 여러 가지 측면에서 볼 수 있습니다.
1. 명확성과 간결성
- 명확성: 코드는 읽기 쉽고 이해하기 쉬워야 합니다. 변수와 함수의 이름이 명확하며, 코드의 목적이 분명해야 합니다.
- 간결성: 코드가 불필요하게 복잡하지 않고, 간결하게 작성되어야 합니다. 복잡한 로직은 단순화하고, 중복된 코드는 최소화합니다.
2. 부작용 없음
- 순수 함수: 위에서 설명한 것처럼, 순수 함수는 외부 상태에 영향을 미치지 않고, 같은 입력에 대해 항상 같은 출력을 반환합니다.
- 부작용 최소화: 함수나 메소드가 가능한 한 부작용을 일으키지 않도록 작성합니다. 즉, 데이터베이스를 업데이트하거나, 파일을 쓰는 등의 작업을 함수의 외부에서 처리하는 것이 바람직합니다.
3. 모듈화와 재사용성
- 모듈화: 코드는 잘 정의된 기능을 가진 독립적인 모듈로 나누어져 있어야 합니다. 각 모듈은 자신의 책임을 명확히 하고, 다른 모듈과의 의존성을 최소화합니다.
- 재사용성: 코드는 재사용 가능하도록 작성되어야 하며, 같은 로직을 여러 번 작성할 필요가 없도록 합니다.
4. 테스트 용이성
- 테스트 가능성: 코드가 테스트하기 쉬워야 하며, 단위 테스트가 가능한 구조로 작성되어야 합니다. 함수나 메소드는 독립적으로 테스트할 수 있어야 합니다.
5. 유지보수성
- 유지보수성: 코드는 변경이나 확장이 용이해야 합니다. 코드를 수정할 때 다른 부분에 영향을 미치지 않도록 설계되어야 합니다.
6. 표준과 일관성
- 코딩 표준 준수: 코드는 팀이나 프로젝트의 코딩 표준을 따르며 일관성 있게 작성되어야 합니다. 이는 코드의 가독성과 유지보수성을 높이는 데 도움이 됩니다.
예시 코드
순수한 코드의 예로, Python의 간단한 예시를 들어봅시다.

이 코드 예시는 중요한 특성들이 정리되어 있습니다.
- 명확성: 함수 이름과 주석이 함수의 목적을 명확히 설명합니다.
- 간결성: 함수는 단순한 로직만 포함하고 있습니다.
- 모듈화: 면적 계산과 출력 기능이 분리되어 있습니다.
- 테스트 가능성: 함수는 독립적으로 테스트할 수 있습니다.
결론적으로, 순수한 코드는 잘 정제되고 다듬어진 코드로서, 명확하고, 간결하며, 유지보수와 테스트가 용이하도록 작성된 코드입니다. 이는 소프트웨어 개발의 품질을 높이는 데 중요한 요소입니다.
Reference
https://yozm.wishket.com/magazine/detail/2483/
프론트엔드 개발자가 알아야 할 ‘유닛 테스트’ 작성법 | 요즘IT
개발자에게 있어 테스트 코드는 제품 안정성을 올려주고, 버그를 사전에 잡아줄 수 있는 중요한 역할을 합니다. 그러나 막상 개발을 하다 보면 테스트 코드를 작성할 여유가 많지 않습니다. 중
yozm.wishket.com
'기억하고 싶은 것' 카테고리의 다른 글
프로그래밍에 관한 101가지 명언 (0) | 2024.09.04 |
---|---|
백엔드 신입 개발자가 쌓아야 하는 필수 역량 (0) | 2024.08.29 |
1인분의 지식을 경계하라 (0) | 2024.08.04 |
개발자가 되고 싶은 이유 (2) | 2024.08.01 |
상식도 바뀌지만 ‘방향’은 있다 (0) | 2024.07.28 |