Effective Dart: Design

MJ·2023년 6월 12일
0

Dart Basic

목록 보기
12/12

Names

일관되게 사용하기

  • 이름을 일관되게 작성한다, 내가 사용한 이름이 다른 외부에서도 사용했던 이름이라면 사용자 들은 해당 기능을 사용하기 전에 학습해야할 양을 줄일 수 있다

약어 사용을 피한다

  • 약어가 일반 단어보다 일반적인 경우가 아니라면 사용하지 않는 것이 좋고 사용하는 경우에는 대문자로 올바르게 표시한다
// good case
pageCount
buildRectangles
IOStream
HttpRequest

// bad case
numPages    // "Num" is an abbreviation of "number (of)".
buildRects
InputOutputStream
HypertextTransferProtocolRequest

이것이 무엇인지 가장 잘 보여줄 수 있는 명사를 마지막에 표시한다

// good case
pageCount             // A count (of pages).
ConversionSink        // A sink for doing conversions.
ChunkedConversionSink // A ConversionSink that's chunked.
CssFontFaceRule       // A rule for font faces in CSS.

// bad case
numPages                  // Not a collection of pages.
CanvasRenderingContext2D  // Not a "2D".
RuleFontFaceCss           // Not a CSS.

코드가 문장처럼 읽히도록 하라

// good case
// "If errors is empty..."
if (errors.isEmpty) ...

// "Hey, subscription, cancel!"
subscription.cancel();

// "Get the monsters where the monster has claws."
monsters.where((monster) => monster.hasClaws);

// bad case
// Telling errors to empty itself, or asking if it is?
if (errors.empty) ...

// Toggle what? To what?
subscription.toggle();

// Filter the monsters with claws *out* or include *only* those?
monsters.filter((monster) => monster.hasClaws);

명사구를 사용한다

profile
느긋하게 살자!

0개의 댓글