passion and relax

[JAVA] 05. 메소드를 더 강력하게 (흐름 제어, 연산 등) 본문

프로그래밍

[JAVA] 05. 메소드를 더 강력하게 (흐름 제어, 연산 등)

Grab Java 2024. 5. 20. 15:24

 


닷컴 가라앉히기

. 구현 기능 파악
. 고수준 설계 (순서도 작성)
. 클래스 개발
  . 클래스에서 뭘 해야하는지 파악
  . 인스턴스 변수 목록과 메소드 목록 작성
  . 준비코드(=유사코드=pseudo-code) 작성
     : 문법보다는 논리를 중점적으로 살펴보기 위해 유사코드 형태로 표현한 것
  . 테스트 코드 작성 : 실제 코드를 테스트하고 작업이 제대로 처리되는지 확인하기 위한 클래스/메소드
  . 실제 코드 작성 : 메소드를 실제 테스트하며 구현하는 코드
  . 디버그 또는 재구현

 


난수 만들기

. 0 ~ 4의 난수 발생
int randomNum = (int) (Math.random() * 5)

. 1 ~ 5의 난수 발생
int randomNum = ((int) (Math.random() * 5)) + 1;

. 0 ~ 10의 난수 발생
int randomNum = (int) (Math.random() * 11)

. 2 ~ 8의 난수 발생
int randomNum = ((int) (Math.random() * 7)) + 2;

 


사용자 입력 받기

String inputLine = null;

try {
 BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
 inputLine = in.readLine();
 if (inputLine.length()==0) {
  return null;
 }
} catch (IOException e) {
 System.out.println("IOException : " + e);
}

return inputLine;

 


for VS while

. 반복 횟수가 명확하면 for, 아니면 while
. 명확할 때, while을 쓰면 코드가 지저분 해짐.

 


eXtream Programming (XP)

. 조금씩, 하지만 자주 발표한다.
. 사이클을 반복해서 돌리면서 개발한다.
. 스펙에 없는 것은 절대 넣지 않는다.
. 테스트 코드를 먼저 만든다.
. 야근 하지 마라. 정규 시간에만 작업하라.
. 기회가 생기면 기다렸다는 듯, 언제 어디서든 코드를 개선하라.
. 모든 테스트를 통과하기 전에는 어떤 것도 발표하지 않는다.
. 조금씩 발표하는 것을 기반으로 현실적인 작업 계획을 만든다.
. 모든 일을 단순하게 처리한다.
. 두 명씩 팀을 편성하고, 모든 사람이 대부분의 코드를 알 수 있도록 돌아가며 작업한다.