μΆμ²
ChatGPT
νλ‘κ·Έλ¨μ λͺ νμ±(Clarity)μ μ½λμ κ°λ μ±κ³Ό μ΄ν΄λλ₯Ό λμ΄λ λ° μ€μ μ λκ³ , μννΈμ¨μ΄ κ°λ°μμ λ§€μ° μ€μν κ°λ μ΄λ€. λͺ νμ±μ μ½λλ₯Ό μ½κ³ μ΄ν΄νκΈ° μ½κ² λ§λ€μ΄, λ€λ₯Έ κ°λ°μλ λ―Έλμ μμ μ΄ μ½λλ₯Ό μμ νκ³ μ μ§λ³΄μν λ μ€λ₯λ₯Ό μ€μ΄κ³ μκ°μ μ μ½ν μ μλλ‘ νλ€.
λͺ νμ±μ μ μ
λͺ νμ±μ λ€μκ³Ό κ°μ νΉμ±μ ν¬ν¨νλ€.
κ°λ μ±(Readabiltiy)
μ½λλ₯Ό μ½κ² μ½μ μ μλλ‘ μ€κ³νμ¬, κ°λ°μκ° μ½λμ κΈ°λ₯κ³Ό λμμ λΉ λ₯΄κ² νμ ν μ μκ² νλ€.
μ΄ν΄λ(understandability)
μ½λμ λ‘μ§κ³Ό κ΅¬μ‘°κ° λͺ ννμ¬, μ΄λ€ κΈ°λ₯μ μννλμ§ μλΉκ² μ΄ν΄ν μ μλλ‘ λλλ€.
μμΈ‘ κ°λ₯μ±(Predictability)
μ½λμ νλ¦μ΄ μμΈ‘ κ°λ₯νκ² μ€κ³λμ΄, κ° λΆλΆμ΄ μ΄λ»κ² λμνλμ§ μ½κ² μΆλ‘ ν μ μλ€.
λͺ νμ±μ΄ μ€μν μ΄μ
ν¨μ¨μ μΈ νμ
λͺ νν μ½λλ νμ κ°μ νμ μ μννκ² νλ©°, μλ‘μ΄ κ°λ°μκ° νλ‘μ νΈμ μ°Έμ¬ν λ λΉ λ₯΄κ² μ μν μ μλλ‘ λλλ€.
μ μ§λ³΄μμ±
λͺ νν μ½λλ μ μ§λ³΄μ μ λ°μν μ μλ μ€λ₯λ₯Ό μ€μ΄λ©°, μ½λ λ³κ²½μ΄ νμν κ²½μ°μλ μ½κ² μ΄ν΄νκ³ μμ ν μ μλλ‘ νλ€.
λ²κ·Έ κ°μ
λͺ νν μ½λλ λ²κ·Έλ₯Ό μ€μ΄κ³ , μ½λ 리뷰μ ν μ€νΈ κ³Όμ μμ μ€λ₯λ₯Ό λ μ½κ² λ°κ²¬ν μ μκ² νλ€.
λ¬Έμν κ°μ
λͺ νν μ½λλ λ³λμ λ¬Έμν μμ΄λ μ½λλ₯Ό μ΄ν΄νλ λ° λμμ΄ λλ€.
λͺ νμ±μ λμ΄λ λ°©λ²
λͺ νμ±μ λμ΄λ λ°©λ²μλ μ¬λ¬ κ°μ§κ° μλ€. λ€μμ λͺ κ°μ§ ν΅μ¬ μ λ΅μ΄λ€.
1. μλ―Έ μλ λ³μμ ν¨μλͺ μ¬μ©
λ³μλͺ κ³Ό ν¨μλͺ μ μ§κ΄μ μ΄κ³ μλ―Έ μκ² μμ±νμ¬, μ½λκ° μ΄λ€ μμ μ μννλμ§ λͺ ννκ² λνλΈλ€.
μμ
// λμ μ
int x = 10;
int y = 20;
int z = x + y;
// μ’μ μ
int numberOfApples = 10;
int numberOfOranges = 20;
int totalFruits = numberOfApples + numberOfOranges;
μ μμμμ λ λ² μ§Έ μ½λλ λ³μλͺ μ΄ λͺ ννλ©°, μ½λκ° μ΄λ€ μμ μ μννλμ§ μ½κ² μ΄ν΄ν μ μλ€.
2. μ£Όμ μ¬μ©
μ£Όμμ ν΅ν΄ μ½λμ 볡μ‘ν λΆλΆμ΄λ μλ, νΉμ λ‘μ§μ λ°°κ²½μ μ€λͺ νλ©° μ΄ν΄λλ₯Ό λμΈλ€.
μμ
// μ΄ ν¨μλ λ μ«μμ ν©μ λ°νν©λλ€.
public int addNumbers(int a, int b) {
return a + b;
}
μ£Όμμ ν¨μκ° μννλ μμ μ λͺ ννκ² μ€λͺ ν΄, μ½λ μ΄ν΄λ₯Ό λλλ€.
3. μΌκ΄λ μ½λ© μ€νμΌ
μΌκ΄λ λ€μ¬μ°κΈ°, 곡백 μ¬μ©, μ½λ μ€νμΌμ μ μ§νμ¬, μ½λμ ꡬ쑰λ₯Ό λͺ ννκ² νλ€.
μμ
// μΌκ΄λ λ€μ¬μ°κΈ°μ 곡백 μ¬μ©
public void printNumbers() {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
μΌκ΄λ μ€νμΌμ μ½λμ νλ¦μ μ½κ² νμ ν μ μκ² νλ€.
4. λͺ¨λνμ ν¨μ λΆλ¦¬
ν° ν¨μλ₯Ό μμ λ¨μλ‘ λΆλ¦¬νμ¬, κ°κ°μ ν¨μκ° λ¨μΌ μ± μμ κ°μ§λλ‘ νλ€.
μμ
// λμ μ
public void processOrder() {
// μ£Όλ¬Έ κ²μ¦
// κ²°μ μ²λ¦¬
// λ°°μ‘ μ€λΉ
}
// μ’μ μ
public void processOrder() {
validateOrder();
processPayment();
prepareShipping();
}
private void validateOrder() {
// μ£Όλ¬Έ κ²μ¦ λ‘μ§
}
private void processPayment() {
// κ²°μ μ²λ¦¬ λ‘μ§
}
private void prepareShipping() {
// λ°°μ‘ μ€λΉ λ‘μ§
}
ν¨μ λΆλ¦¬λ μ½λμ μ± μμ λΆλͺ νκ² νκ³ , κ° λΆλΆμ΄ μννλ μμ μ λͺ ννκ² νλ€.
5. λͺ νν μ μ΄ νλ¦
볡μ‘ν 쑰건문μ΄λ μ μ΄ νλ¦μ λͺ ννκ² ν΄, μ½λμ λ Όλ¦¬λ₯Ό μ½κ² μΆμ ν μ μκ² νλ€.
μμ
// λμ μ
if (status == 1 || status == 2) {
// μμ
μν
}
// μ’μ μ
if (isOrderPending(status)) {
// μμ
μν
}
private boolean isOrderPending(int status) {
return status == 1 || status == 2;
}
μ μ΄ νλ¦μ λͺ ννκ² ν΄, μ½λκ° λ¬΄μμ γ±κ²μ¬νκ³ μλμ§ μ½κ² μ΄ν΄ν μ μλ€.
λͺ νμ±μ νκ°νλ μ§ν
κ°λ μ± νκ°
μ½λλ₯Ό μ½κ³ μ΄ν΄νλ λ° κ±Έλ¦¬λ μκ°
μ μ§λ³΄μμ±
μ½λ λ³κ²½μ΄ νμν κ²½μ° μμ μ μ©μ΄μ±
λ²κ·Έ λ°μλ₯
λͺ ννμ§ μμ μ½λμμ λ°μνλ λ²κ·Έμ λΉλ
νμ ν¨μ¨μ±
νμ κ° μ½λ μ΄ν΄μ μ©μ΄μ±
λͺ νμ±κ³Ό κ΄λ ¨λ μ¬λ‘
μ¬λ‘ 1: 볡μ‘ν μκ³ λ¦¬μ¦μ λͺ νν
볡μ‘ν μκ³ λ¦¬μ¦μ λͺ ννκ² μμ±ν΄ μ΄ν΄λλ₯Ό λμ΄κ³ , μ΄ν μ μ§λ³΄μλ₯Ό μ½κ² νλ€.
μμ
// 볡μ‘ν λ‘μ§μ λͺ
ννκ² λΆλ¦¬
public boolean isValidUser(String username, String password) {
return isUsernameValid(username) && isPasswordValid(password);
}
private boolean isUsernameValid(String username) {
// μ¬μ©μ μ΄λ¦ κ²μ¦ λ‘μ§
return username.length() > 5;
}
private boolean isPasswordValid(String password) {
// λΉλ°λ²νΈ κ²μ¦ λ‘μ§
return password.length() > 8;
}
μ¬λ‘ 2 : κ°λ μ± λμ λ°μ΄ν° μ²λ¦¬
λ°μ΄ν° μ²λ¦¬ λ‘μ§μ λͺ ννκ² μμ±νμ¬, λμ΄ν° νλ¦μΌ μ½κ² μ΄ν΄ν μ μκ² νλ€.
μμ
// κ°λ
μ± λμ λ°μ΄ν° μ²λ¦¬
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
List<String> upperCaseNames = names.stream()
.map(String::toUpperCase)
.collect(Collectors.toList());
κ²°λ‘
νλ‘κ·Έλ¨μ λͺ νμ±μ μννΈμ¨μ΄ κ°λ°μμ λ§€μ° μ€μν μμλ‘, μ½λμ κ°λ μ±κ³Ό μ΄ν΄λλ₯Ό λμ¬ μ μ§λ³΄μμ νμ μ μ©μ΄νκ² νλ€. λͺ νμ±μ λμ΄λ λ€μν κΈ°λ²μ ν΅ν΄, μννΈμ¨μ΄ νμ§μ ν₯μμν€κ³ λ²κ·Έλ₯Ό μ€μ΄λ©°, κ°λ°μ κ°μ ν¨μ¨μ μΈ νμ μ κ°λ₯νκ² νλ€.
μ½λκ° λͺ νν μλ‘ νλ‘κ·Έλ¨μ μμ μ±κ³Ό μμ μ± λν μμ°μ€λ½κ² ν₯μλλ©°, μ΄λ κ³ νμ§μ μννΈμ¨μ΄λ₯Ό κ°λ°νλ λ° μ€μν κΈ°μ¬λ₯Ό νλ€.