Effective Dart - Style 1. Identifiers

다용도리모콘·2020년 7월 5일
0

Dart Document

목록 보기
1/1

(Do)Class, enum, typedef, type parameter의 이름은 UpperCamelCase를 사용해야 한다.

class Foo {
  const Foo([arg]);
}

(anArg)
class A { ... }

()
class B { ... }class Foo {
  const Foo([arg]);
}

(anArg)
class A { ... }

()
class B { ... }

(Do)extenstion의 이름은 UpperCamelCase를 사용해야 한다.

extension MyFancyList<T> on List<T> { ... }

extension SmartIterable<T> on Iterable<T> { ... }

(Do)library, package, directory, source file 이름은 lowercase_with_underscores를 사용해야 한다.

library peg_parser.source_scanner;

import 'file_system.dart';
import 'slider_menu.dart';

(Do)import prefix의 이름은 lowercase_with_underscores를 사용해야 한다.

import 'dart:math' as math;
import 'package:angular_components/angular_components'
    as angular_components;
import 'package:js/js.dart' as js;

(Do)나머지 이름(class member, top-level definition, variable, parameter의 이름은 lowerCamelCase를 사용해야 한다.

var item;

HttpRequest httpRequest;

void align(bool clearItems) {
  // ...
}

(Prefer) constant 이름은 lowerCamelCase 사용을 추천한다.

const pi = 3.14;
const defaultTimeout = 1000;
final urlScheme = RegExp('^([a-z]+):');

class Dice {
  static final numberGenerator = Random();
}

(Do) 두글자 초과의 약어(like HTTP)의 경우 일반 단어와 동일하게 사용한다. 두글자 이하의 약어는 두 글자 모두 대문자로 한다.(ID, Mr 제외)

대문자로 쓴 약자는 읽기 어렵고 띄어쓰기 없이 쓴 약자는 모호한 의미를 가질 수 있다. 예를 들어 HTTPSFTP는 HTTPS FTP인지 HTTP SFTP인지 알 수가 없다.
이걸 방지하기 위해, 약자와 줄임말은 두 글자로 된 축약형을 제외하고는 다른 보통의 단어들처럼 대문자화한다.(맨 첫글자만 대문자로 쓰기)
(하지만 ID와 Mr.와 같은 두 글자 축약형은 보통 단어처럼 앞글자만 대문자화한다)
from https://dart.dev/guides/
translated by yan

HttpConnectionInfo
uiHandler
IOStream
HttpRequest
Id
DB

(Don't) private가 아닌 이름의 맨 앞에 underscore를 붙이면 안된다.

(Don't) prefix 문자를 사용하면 안된다.

0개의 댓글