본문 바로가기
IT/Flutter

<Dart> 효과적인 Dart: Style

by 세계 최고의 AI Engineer_naknak 2023. 2. 13.

앱 개발을 계획하던 중에 우연히 Flutter 에 대해서 알게 되었고 노마더코드에서 무료 Dart를 듣고 나서

Dart라는 언어가 가진 편리함에 반해 개발 언어와 프레임워크를 Dart와 Flutter로 하기로 결정했습니다.

어떤 면에 매력을 느끼고 Dart와 Flutter에 대한 자세한 설명은 추후 다른 글로 정리하겠습니다(It's insane!!!)

 

개발을 하면서 이런 저런 어려움이 있지만 가장 어려운 건 단연 변수명 짓기! 라고 생각합니다.

왜냐면 혼자 개발하면 아무렇게나 지어도 되지만(물론 시간이 지난 후에 다시 보면 제가 짠 코드더라도 이게 뭐징??? 하긴 합니다) 협업을 한다면 변수명은 반드시 신경써서 지어야 하기 때문이죠!

 

이런 이유로 dart는 어떤 약속으로 변수를 선언하는 지 알아야 했습니다!

찾아보니

https://dart.dev/guides/language/effective-dart/style

 

Effective Dart: Style

Formatting and naming rules for consistent, readable code.

dart.dev

여기에 관련 내용이 나와있습니다!

 

 

식별자에 관한 내용

Identifiers는 식별자라는 뜻이라네요! 

dart에서는 크게 3가지 유형을 사용한다고 하네요!

 

UpperCamelCase : ExampleFlutter

lowerCamelCase : exampleFlutter

lowercase_with_underscores : example_flutter

 

각 유형에서 볼 수 있듯이 표기는 위와 같습니다.

 

그럼 각 유형별로 어디에 쓰이는지 간단하게 살펴 보겠습니다!

 

UpperCamelCase:

여러가지 경우가 있지만 일단 클래스 선언, 이넘 타입 등에 선언에 사용되는구나! 이정도만 알면 되지 않을까요?

 

extension 도 UpperCamelCase를 사용해야한다고 하네요!

 

 

lowercase_with_underscores:

 

package 선언할 때!

 

alias 를 사용할 때 as 뒤에 lowercacse_with_underscores 를 사용합니다~

 

 

lowerCamelCase:

변수, 매개변수 그리고 클래스 안에 있는 여러 속성들은 lowerCamelCase 로 선언한다고 합니다!

또 상수를 사용할 때 대문자로 이루어진 변수명 보다 lowerCamelCase를 사용하는 걸 선호한다고 하네요! 이 부분은 다른 언어랑 조금 차이가 있다고 생각해요! Java 같은 경우에는 상수는 모두 대문자로 표현했었던 거 같았거든요!

 

 

그외:

 

_ (언더바)는 사용하지 않는 콜백 매개변수 를 표현할 때 사용하고 _를 식별자 앞에 붙이면 private라고 생각한다고 하네요! 그래서 private가 아닌 식별자에 _를 붙이면 안된다고 해요!

 

헝가리 표기법이나 다른 표협법은 BCPL이라는 시대에 등장했다고 합니다. 그런데 이 시대는 컴파일러가 우리가 우리의 코드를 이해하는데 전혀 도움을 주지 않았던 시대라고 하네요! 반면 dart는 우리가 만든 변수에 대해 다양한 정보를 말해줄 수 있기 때문에 위와 같이 식별자의 이름을 스스로 암호화할 필요가 없고 하지 말래요!

 

import의 순서를 보여주네요! 

1순위 dart:

2순위 package:

3순위 그외

이런 식으로 배치하래요!

 

export는 import와 정확하게 구분하라는 내용도 있어요!

 

또 같은 순위라면 알파벳 순서에 따라서 정렬하면 좋겠네요!

 

그리고 dart format 이 있는데 여기에 맞춰서 코드를 작성하라고 하네요!

또 한 줄에 80개 이상의 글자를 쓰는 건 피해달라고 하네요~!

 

마지막으로 

제어문을 사용할 때 반드시 {} 중괄호를 사용해달라고 하네요! 

예외적으로 return 값이 하나라면 안써도 되지만 3번째 나와있는 코드처럼 연산자가 들어간다면 {}를 써야합니다!

이렇게 하면 BAD!!!

 

공식 문서에 나와있지 않지만 flutter 관련 폴더명이나 .dart 파일의 이름은 lowercase_with_underscores 를 사용하는 거 같아요! https://github.com/flutter/flutter/tree/master/examples 

 

GitHub - flutter/flutter: Flutter makes it easy and fast to build beautiful apps for mobile and beyond

Flutter makes it easy and fast to build beautiful apps for mobile and beyond - GitHub - flutter/flutter: Flutter makes it easy and fast to build beautiful apps for mobile and beyond

github.com

flutter 깃허브를 보면 그렇게 하신걸 볼 수 있어요!

 

 

 

네! 살짝 긴 글이 되었네요!

오늘 dart: style에 대해서 살펴봤습니다!

앞으로 flutter 관련 프로젝트를 진행할 때 공식 문서에 나와있는 약속을 지켜주면

훨씬 더 좋은 코드 작성, 동료 개발자와 커뮤니케이션이 더 잘되는,

또 flutter를 더 효율적으로 사용할 수 있을 거다! 라고 살며시 생각하면서 글을 마치도록 하겠습니다!!!

'IT > Flutter' 카테고리의 다른 글

<Dart> Streams 비동기 프로그래밍  (0) 2023.03.16
<Dart> Effective Dart: Documentation  (0) 2023.03.06
<Dart> What is Future and how to use it?  (2) 2023.03.02
<Flutter> What is State?  (0) 2023.02.15
<Flutter> Scaffold란?  (0) 2023.02.14

댓글