250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
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
Archives
Today
Total
관리 메뉴

y.developer

[TIL] Day 76 좋은 코드에 대한 고민 본문

카테고리 없음

[TIL] Day 76 좋은 코드에 대한 고민

y.developer 2024. 1. 23. 02:15
728x90

2024.01.22 월

 

중간 검점 및 회고

최종 프로젝트가 절반을 지나가고 있다.

오늘 중간발표를 진행하였고, 지금까지 달려온 길과 앞으로 달려야할 길에 대해서 생각해보았다.

한템포 쉬어가며 그동안 코드에만 집중하여 좁아졌던 시야의 폭을 다시 넓히고 프로젝트의 전체 흐름을 점검하였다.

기능 구현만 생각했던 부분을 내려놓고 프로젝트의 가장 궁극적인 목표인 좋은 코드를 작성하는 것에 대해서 깊게 생각해보게 되었다.

 

웹 개발에서 코드의 품질을 높이고 유지보수성을 향상시키기 위해 여러가지 중요한 개념들이 존재한다.

웹 컴포넌트, 관심사 분리, 코드 확장성 및 재사용성에 중점을 두고 이러한 개념들을 활용하여 어떻게 동적하고 효과적인 코드 작성할 수 있는지 적어보자.

 

 

 

 

1. 웹 컴포넌트

독립적이고 재사용 가능한 코드 조각이다.

웹 애플리케이션을 작은 조각으로 분해하여 개발 및 유지보수를 용이하게 만들어준다.

각 컴포넌트는 자체적인 스타일, 로직, 마크업을 포함하고 있어 독립성이 높은 특징이 있다.

 

2. 관심사 분리

코드를 유지보수 가능하게 만들기 위한 핵심 원칙 중 하나이다.

기능적으로는 문제가 되지 않지만, 협업을 진행하거나 코드에 대한 의미론적인 측면에서 보다 명시적인 분리가 필요하다.

각각의 모듈이나 클래스가 특정한 역할에만 집중하도록 해야한다.

웹 컴포넌트를 통해 마크업, 스타일, 로직을 각각 다른 파일이나 섹션으로 분리하여 유지보수성을 증가시킬 수 있다.

 

3. 코드 확장성

애플리케이션이 성장함에 따라 코드를 효과적으로 유지하고 개선할 수 있는 능력을 의미한다.

웹 컴포넌트를 사용하면 새로운 기능이나 모듈을 쉽게 추가하고 전체 코드를 수정하지 않고도 기능을 확장할 수 있다.

아주 작은 프로젝트만 할거라면 큰 영향이 없다. 오히려 단순하고 무식하지만 빠르게 작성하는게 더 이점일 수도 있다.

하지만 이는 좋은 코드에 해당하는 범주가 될 수는 없을 것이다.

점차 프로젝트가 커지고 많은 인원들이 작업하게 되며 뎁스가 깊어질수록 복잡도가 올라간다.

정적인 코드나 확장성이 없는 코드를 구성해 놓았다면 굉장히 곤란한 상황이 펼쳐질 것이다.

그래서 추후 코드의 확장성 즉, 잠재력을 끌어올릴 것을 고려하여 코드를 작성해야한다.

 

4. 코드 재사용성

코드 확장성과 비슷한 맥락으로 해당 코드를 재사용하게끔 만든다.

비슷한 기능이나 디자인 요소를 다른 부분에서 그대로 혹은 약간의 옵션만을 추가하여 사용할 수 있게 만든다.

개발에 투자되는 리소스를 줄이고 개발시간 또한 줄이는 이점이 있다.

특정 기능을 다른 프로젝트나 페이지에서도 쉽게 재사용할 수 있도록 구축해놓는다면 자신만의 자산이 될 것이다.

 

5. 동적 코드 작성

사용자와 상호작용하거나 데이터의 변화에 따라 애플리케이션이 동적으로 반응하는 코드를 의미한다.

외부에서 제공되는 데이터에 따라 동적으로 변경될 수 있어, 사용자 경험을 향상시키는 데 도움이 된다.

그리고 개발자 측면에서도 코드를 컨트롤할 때 더 용이해지며 변경사항이 있을 경우 쉽게 대처할 수 있게 된다.

동적하고 확장 가능한 코드를 작성하면 향상된 유지보수성을 지닐 수 있다.

 

 

좋은 개발자를 향해서

정리해본 원칙들을 잘 기억하고 어떻게 하면 더 좋은 코드를 작성할 수 있을지 늘 생각하는 개발자가 좋은 개발자라고 생각한다.

그냥 코드를 작성하는건 누구나 할 수 있고, 대체될 수 있다. 특히 추후에는 인공지능에게 자리를 빼앗길 것이다.

하지만 자신만의 컨벤션을 가지고 조금 더 좋은 코드, 작업에 효율성을 올릴 수 있는 노하우를 가지고 있다면 프로젝트를 위해서, 그리고 자신의 개발자 커리어를 위해서도 큰 도움이 될것이다.

이러한 개념들을 적절히 활용하여 과 사용자 경험을 제공할 수 있습니다.

 

 

 

728x90