μ΄ κΈμ κ΅¬κΈ μλ° μ€νμΌ κ°μ΄λμ λ€μ΄λ° ννΈλ₯Ό λ²μγ»μ 리ν κΈμ λλ€.
λͺ©μ°¨
λͺ¨λ μλ³μμ λν΄
ASCII λ¬Έμ λλ μ«μλ‘λ§ μμ±λμ΄μΌ νλ©°, μ κ·μ [\w+]μ 맀μΉλλ λͺ¨λ μ΄λ¦μ΄ κ°λ₯ν©λλ€.
\w λ [A-z0-9_]μ λμΌ.
νΉλ³ν μ λμ¬λ μ λ―Έμ¬λ₯Ό λΆμΌ νμκ° μμΌλ©΄ λ€μκ³Ό κ°μ΄ μ΄λ¦ μ§μ§ μμ΅λλ€.
- name_
- mName
- s_name
- kName
ν¨ν€μ§ μ΄λ¦
ν¨ν€μ§ μ΄λ¦μ μλ¬Έμμ μ«μλ§ μ¬μ©ν©λλ€(_ μμ). μ°μλλ λ¨μ΄λ κ°λ¨ν μ°κ²°ν©λλ€.
- com.example.deepSpace β
- com.example.deep_space β
- com.example.deepspace β
ν΄λμ€ μ΄λ¦
ν΄λμ€ μ΄λ¦μ λλ¬Έμλ‘ μμ±λ©λλ€.
ν΄λμ€ μ΄λ¦μ μΌλ°μ μΌλ‘ λͺ μ¬ λλ λͺ μ¬κ΅¬μ λλ€.
- Character
- ImmutableList
μΈν°νμ΄μ€ μ΄λ¦λ λͺ μ¬ λλ λͺ μ¬κ΅¬(μ: List)μΌ μ μμ§λ§, νμ©μ¬ λλ νμ©μ¬κ΅¬ λμ νμ©μ¬μΌ μλ μμ΅λλ€.
- Readable
ν μ€νΈ ν΄λμ€λ μ΄λ¦μ΄ Testλ‘ λλλ μ΄λ¦μ κ°μ΅λλ€
- HashIntegrationTest
νλμ ν΄λμ€μ λν ν μ€νΈμΈ κ²½μ°, ν΄λΉ ν΄λμ€μ μ΄λ¦μ Testλ₯Ό λνμ¬ μ΄λ¦μ μ§μ΅λλ€.
- HashImplTest
λ©μλ μ΄λ¦
λ©μλ μ΄λ¦μ μλ¬Έμλ‘ μμ±λ©λλ€.
λ©μλ μ΄λ¦μ μΌλ°μ μΌλ‘ λμ¬ λλ λμ¬ κ΅¬λ¬Έμ λλ€.
- sendMessage
- stop.
JUnit ν μ€νΈ λ©μλ μμ± μ λ Όλ¦¬μ κ΅¬μ± μμλ₯Ό ꡬλΆνκΈ° μν΄ λ°μ€μ μ¬μ©ν μλ μμ΅λλ€.
- transferMoney_deductsFromSource)
μμ μ΄λ¦
μμλ λ΄μ©μ΄ κ±°μ λΆλ³μ΄κ³ λ©μλμ κ°μ§ν μ μλ λΆμμ©μ΄ μλ μ μ μ΅μ’ νλμ λλ€.
μμ μ΄λ¦μ λͺ¨λ λλ¬Έμλ‘ λ UPPER_SNAKE_CASEλ₯Ό μ¬μ©νλ©°, κ° λ¨μ΄λ λ°μ€ νλλ‘ λ€μ λ¨μ΄μ ꡬλΆλ©λλ€. μΌλ°μ μΌλ‘ λͺ μ¬ λλ λͺ μ¬ κ΅¬λ¬ΈμΌλ‘ μμ±ν©λλ€.
// Constants
static final int NUMBER = 5;
static final ImmutableList<String> NAMES = ImmutableList.of("Ed", "Ann");
static final Map<String, Integer> AGES = ImmutableMap.of("Ed", 35, "Ann", 32);
static final Joiner COMMA_JOINER = Joiner.on(','); // because Joiner is immutable
static final SomeMutableType[] EMPTY_ARRAY = {};
// Not constants μμμ λ³κ²½ κ°λ₯ μ¬μ§κ° μκΈ° λλ¬Έμ μμλΌκ³ νμ§ μμ΅λλ€.
static final Set<String> mutableCollection = new HashSet<String>();
static final ImmutableSet<SomeMutableType> mutableElements = ImmutableSet.of(mutable);
static final ImmutableMap<String, SomeMutableType> mutableValues =
ImmutableMap.of("Ed", mutableInstance, "Ann", mutableInstance2);
static final Logger logger = Logger.getLogger(MyClass.getName());
static final String[] nonEmptyArray = {"these", "can", "change"};
μμκ° μλ νλ μ΄λ¦
μμκ° μλ νλ μ΄λ¦(μ μ λλ κΈ°ν)μ μλ¬Έμλ‘ μμ±λ©λλ€.
μ΄λ¬ν μ΄λ¦μ μΌλ°μ μΌλ‘ λͺ μ¬ λλ λͺ μ¬ κ΅¬λ¬Έμ λλ€.
- computedValues
- index
νλΌλ―Έν° μ΄λ¦
맀κ°λ³μ μ΄λ¦μ μλ¬Έμλ‘ μμ±λ©λλ€.
public λ©μλλΌλ©΄ ν λ¬Έμλ‘ λ 맀κ°λ³μ μ΄λ¦μ νΌν΄μΌ ν©λλ€.
λ‘컬 λ³μ μ΄λ¦
λ‘컬 λ³μ μ΄λ¦μ μλ¬Έμλ‘ μμ±λ©λλ€.
μ΅μ’ μ μ΄κ³ λΆλ³μΈ κ²½μ°μλ λ‘컬 λ³μλ μμλ‘ κ°μ£Όλμ§ μμΌλ―λ‘ μμ μ€νμΌλ‘ μμ±ν΄μ μλ©λλ€.
Type λ³μ μ΄λ¦
κ° μ ν λ³μμ μ΄λ¦μ λ κ°μ§ μ€νμΌ μ€ νλλ‘ μ§μ λ©λλ€:
λλ¬Έμ νλμ μ νμ μΌλ‘ μ«μ νλκ° λ€λ°λ¦ λλ€.
(μ: E, T, X, T2)
- E
- T
- X
- T2
ν΄λμ€μ μ¬μ©λλ νμμ μ΄λ¦ λ€μ λλ¬Έμ Tκ° μ€λ νμ
- RequestT
- FooBarT