알고스팟 (통칭 아오지탄광) 문제풀이 스터디를 진행 중입니다.
지원자 12명 중에서 11명이 튜터리얼 중에서 가장 쉬운 첫번째 문제를 풀이한 상태이며,
초보자들이 지나치기 쉬운 잘못된 코딩 습관을 통계내 봤습니다.
참고 하시기 바랍니다.
분류 | 유형 코드 |
좋은 않은 코딩 스타일 | 코드 예시 | 설명 (진지하게 읽지 마세요.) | 발생 건수 |
발생 빈도 |
Bad | B1 | 무의미한 제어문 사용 (불필요한 논리) |
while ( flag ) { break; } | if 조건 없이 break 실행 | 2 | 18% |
B2 | 의미 없거나 불필요한 변수 사용 | flag = true; | 사용 안하는 변수 선언 | 1 | 9% | |
Not Good |
N1 | 루트 패키지 사용 | 패키지 선언 없음 | 9 | 82% | |
N2 | 입력 값 범위 체크 안함 | if( inputNum < 10 ) { … } | 음의 정수를 입력할 수 있으나, 그러지 않기를 바래요. |
8 | 73% | |
N3 | 불분명하거나 의미없는 클래스 명칭 |
Main { … } | 어떤 기능을 수행하는지 알 수 없음. (내 마음 알고 싶나요? 나도 몰라요.) |
6 | 55% | |
N4 | 불명확한 변수 명칭 | int num; | 데이터 타입은 알 수 있으나, 용도는 파악 안됨 |
4 | 36% | |
N5 | 들여쓰기 일관성 없음 | 석봉아 이제 불을 끄자꾸나… 어머니는 떡을 써시고, 나는 코딩을… |
3 | 27% | ||
N6 | 연산자와 조건문의 결함 | while( i-- > 0 ) { ... } | 로직을 한눈에 파악하기 어려움. | 2 | 18% | |
N7 | 패키지 명칭에 대문자 사용 | package KingBeginner; | 그런데, 번역이 맞습니까? | 1 | 9% | |
N8 | Camel Case와 Snake Case 혼용 | int input_Num; | 엎어 치던가.. 매치던가.. 하나만.. | 1 | 9% | |
N9 | API 에 대한 불충분한 이해 | exit(0); | 오류가 발생했으나, 정상 종료 처리함 | 1 | 9% | |
N10 | 불필요한 주석 표기 | // input number | 코드만 보고 충분히 이해할 수 있음에도 주석을 쓰려면 차라리 한글로 쓰시는게? |
1 | 9% | |
N11 | 주석에 적힌 파일명과 실제 파일명칭 불일치 |
gistfile1.cpp != main.cpp | 암 유발자…. ? | 1 | 9% | |
N12 | 소스 주석에 한글 영어 혼용 | Copyright (c) 2015년 | 암 유발자…. ? (2) | 1 | 9% | |
N13 | 잘못된 주석 위치 | unsigned int inputVal; // unsigned int로 선언 |
난 네가 이미 읽고 이해한 것, 그것 조차 설명하겠다! |
1 | 9% | |
N14 | 값 비교 시, 작은 값 부터 비교하는 것을 권장함 |
if(n <= 10 && n > 0) | 큰 것이 좋아? (응?) | 1 | 9% | |
총 참가자 수 | 11 |