클린코드 Algo있늬?
개요
•
코드를 읽고, 관리하기 쉽도록 코딩 컨벤션 규칙을 적용하여 클린코드가 무엇인지 배울 수 있는 클린코드 스터디입니다.
목표
•
주차별 주제에 맞춰 OOP를 적용한 객체 지향적 코드 적용합니다.
•
주어진 코딩 컨벤션을 준수하여 프로그램을 구현합니다.
•
코드 리뷰를 통하여 부족한 부분을 보완합니다.
Show All
Search
일정
•
2022년 11월 10일(목) ~ 2022년 12월 01일(목)
주차별 주제
week | subject |
1 | 숫자 야구 |
2 | 자동차 경주 |
3 | 지하철 노선도 |
4 | 친구 추천 알고리즘 문제 |
스터디 방식
온라인 그룹 스터디
1.
입출력 요구사항
•
Scanner 클래스를 이용해 입력을 받고, log로 결과를 출력한다.입/출력 각 상황에 대한 안내와 프로그래밍 실행 결과 예시를 보여준다.
2.
프로그래밍 요구사항
•
•
indent(들여쓰기) depth를 3이 넘지 않도록 구현다.
◦
예를 들어 while문 안에 if문이 있으면 들여쓰기는 2이다.
•
3항 연산자를 쓰지 않는다.
•
함수(메소드)가 한 가지 일만 하도록 최대한 작게 만든다.
•
System.exit 메소드를 사용하지 않는다.
•
비정상적인 입력에 대해서는 IllegalArgumentException을 발생시킨다.
•
주어진 클래스의 패키지 구조와 구현은 변경하지 않는다.
•
RandomUtils 클래스를 활용해 랜덤 기능을 구현해야 한다.
3.
진행 요구사항
•
기능을 구현하기 전에 README.md 파일에 구현할 기능 목록을 정리해 추가한다.
•
git의 commit 단위는 앞 단계에서 README.md 파일에 정리한 기능 목록 단위로 추가한다.
1.
프로젝트 기능 구현
•
정해진 요구사항 명세서를 보면서 프로젝트 기능 구현
◦
GitHub Organization을 통하여 업로드
•
수요일까지 프로젝트 구현
2.
코딩 컨벤션 (Code Convention)
•
commit 규칙명 지키기
•
java 코딩 컨벤션 지키기
•
readme 관리
3.
리뷰
•
매주 목요일 모여서 코드 리뷰
•
리뷰 및 피드백 각자 정리
•
목요일날까지 Pull Request를 통해 코드리뷰 피드백 달아주기 (참고 내용 링크 참조)
프로그래밍 언어
•
Java
참고 내용
•
아래의 예시와 같이 스터디 그룹원과 공유하면 좋을 참고 자료를 기획안에 첨부 부탁드립니다!