OJINSEOK.dev

// post

Flutter에서 클린 코드의 중요성 및 코드 개선 방안

2023년 9월 16일

Flutter에서 클린 코드의 중요성 및 코드 개선 방안 Flutter는 모바일 앱 개발을 위한 빠르게 성장하는 프레임워크입니다. 그러나 빠른 개발 속도와 확장성을 위해서는 클린 코드의 중요성을 무시할 수 없습니다. 이 글에서는 Fl

flutter

Flutter에서 클린 코드의 중요성 및 코드 개선 방안

Flutter는 모바일 앱 개발을 위한 빠르게 성장하는 프레임워크입니다. 그러나 빠른 개발 속도와 확장성을 위해서는 클린 코드의 중요성을 무시할 수 없습니다. 이 글에서는 Flutter에서의 클린 코드의 중요성, 흔히 발생하는 코드의 문제점, 그리고 이를 개선하기 위한 방안에 대해 알아보겠습니다.

1. 클린 코드의 중요성

   - 유지 보수성: 클린 코드는 다른 개발자들이 코드를 이해하고 수정하기 쉽게 만듭니다.
   - 버그 감소: 명확하고 간결한 코드는 버그 발생 확률을 줄여줍니다.
   - 생산성 향상: 잘 구조화된 코드는 기능 추가나 변경이 용이하게 만듭니다.

  1. 코드의 문제점

   - 중복 코드: 같은 로직이나 기능이 여러 곳에서 반복적으로 사용될 때 발생합니다.
   - 과도한 의존성: 한 부분의 변경이 다른 부분에 큰 영향을 미치게 됩니다.
   - 불명확한 네이밍: 변수나 함수의 이름이 그 기능을 명확히 반영하지 않아 코드를 읽는 사람이 혼란을 느낄 수 있습니다.
   - 긴 함수나 클래스: 하나의 함수나 클래스가 너무 많은 기능을 담당하게 되면 이해하기 어렵고 수정하기 힘들어집니다.

또한 Flutter로 코딩을 할때, 코드 스타일이... 비유를 들자면 양파 껍데기 같습니다... 안으로 코드가 계속 파고 파고 들어가고, 조금 복잡한 UI를 그린다면 내가 수정해야할 코드가 몇번째 양파 껍데기에 있는지(물론 툴을 이용해 찾으면 금방찾긴 함.) 코드를 아무리 보기 쉽게 작성하려 해도 잘 안됩니다. 그렇기 때문에 코드를 개선하고 클린코드를 작성하기 위한 노력이 다른 어느 플랫폼과 프레임워크를 따져 보더라도 단연 Flutter는 독보적인 1위를 달성하며, 당신을 클린코드의 달인? 으로 만들고자 노력하게 만들 겁니다.... (좋은 건가...)

3. 코드 개선 방안

   - DRY 원칙 준수: "Don't Repeat Yourself" 원칙을 따라 중복 코드를 제거합니다.
     ```dart
     // Bad
     void calculateAreaOfSquare() {...}
     void calculateAreaOfCircle() {...}

     // Good
     void calculateArea(Shape shape) {...}
     ```

   - 의존성 주입 사용get_it과 같은 패키지를 활용하여 의존성을 관리하고, 모듈 간의 결합도를 낮춥니다.
     dart      final getIt = GetIt.instance;      getIt.registerSingleton<AppService>(AppServiceImpl());      

   - 명확한 네이밍: 변수나 함수의 이름을 명확하게 지어 해당 기능을 잘 반영하도록 합니다.
     ```dart
     // Bad
     void d() {...}

     // Good
     void deleteItem() {...}
     ```

   - 단일 책임 원칙 준수: 하나의 함수나 클래스는 하나의 기능만 담당하도록 합니다.
     ```dart
     // Bad
     class UserSettings {
       void updateUser() {...}
       void saveSettings() {...}
     }

     // Good
     class UserManager {
       void updateUser() {...}
     }

     class SettingsManager {
       void saveSettings() {...}
     }
     ```


이상으로 Flutter에서 클린 코드의 중요성과 코드의 문제점, 그리고 이를 개선하기 위한 방안에 대해 작성해 보았습니다. 추가적인 내용이나 수정 사항이 있으면 알려주세요.
저작자표시비영리동일조건(새창열림)

'Flutter' 카테고리의 다른 글

| | Flutter에서 클린 코드를 위한 패턴, 상태 관리 및 패키지 활용하기(0)| 2023.09.16
| | Flutter의 구조와 네이티브 플랫폼과의 연관성(0)| 2023.09.16


이 글은 제 Tistory 블로그에 처음 게시(2023-09-16)된 글입니다.