본문 바로가기

분류 전체보기190

자바: 기능 목록 구현을 재검토한다. 기능 목록을 클래스 설계, 구현, 함수 메소드 구현, 설계 등과 같이 너무 자세하게 작성하지 않는다. 클래스 이름, 함수(메소드) input/output 은 언제든지 변경될 수 있기 때문이다. 너무 세세한 부분까지 정리하기 보다 구현해야 할 목록을 정리하는 데 집중한다. 정상적인 경우도 중요하지만 예외적인 상황도 기능목록에 정리한다. 특히 예외적인 상황은 시작 단계에서 모두 파악하기 어렵기 때문에 계속 기능을 구현하며 추가해나간다. 기능목록에 대해서 평소 중요성을 크게 느끼지 못하고 지나가거나, 구체적으로 작성하려 노력하고 눈에 보이는 것에 집중한 적이 많은 것 같습니다. 이런 목록을 보고 한 줄 한줄의 조언이나 피드백들이 살이 될 수 있다고 느꼈고 더 좋은 개발자가 되고 싶다는 새로운 정보에 대한 열망.. 2021. 10. 30.
자바: 객체에 메시지를 보낸다. 상태데이터를 가지는 객체에서 객체에서 값을 꺼내오는 것(get)이 아니라 객체에 메시지를 보낸다. 예를 들어 차가 우승자인지 확인하기 위해 객체의 최대이동거리를 구하기 위해 다음과 같이 구현할 수 있다. private boolean isMaxPosition(Car car){ return car.getPosition() == maxDistance; } 위와 같이 구현하지 않고 다음과 같이 Car에게 메시지를 보내 구현한다. car.isMaxPosition(maxDistance); 확인해야 하는 곳에서 (해당 객체 내에서 확인하도록 하고, maxDistance와 같은 변수를 메시지로 보내 확인하는 것이 객체의 응집성을 높이고 프로그램의 유연성을 높일 수 있는 방법이라 이렇게 말씀하신 것 같다.) 이런 식으로.. 2021. 10. 28.
자바: 배열 대신 java collection을 활용한다. 자바 콜렉션( map, set, list) 를 활용하면 데이터를 조작할 때 다양한 api를 활용할 수 있다. 예를 들어, 사용자 중 "lee"라는 값이 포함되어 있는지 확인하는 코드는 다음과 같을 수 있다. Listwinners = Arrays.asList("lee", "jin"); boolean result = winners.contains("lee"); 정해진 자료구조인 콜렉션을 활용해 간단하게 구현하고 원하는 값을 확인할 수 있다. 2021. 10. 28.
자바: api를 적극 활용한다. 메소드를 구현하기 전에 java api에서 제공하는 기능인지 먼저 검색을 해본다. java api에서 제공하지 않는 경우 직접 구현한다. 우승자를 출력할때 우승자가 2명 이상인 경우 쉼표 기준으로 출력을 위한 문자열을 생성하는 경우, 다음과 같이 구현할 수 있다. List winners = Arrays.asList("lee", "jin"); String result = String.join(",", winners); 훨씬 심플하고 간단하게 구현이 가능하며, 구현이 안되어 있는 경우도 마찬가지로 함수 구현을 통해 동일하게 기능할 수 있다. 2021. 10. 28.