반응형
위험도 | 분류 | 설명 | 점수 |
심각 | 서버 소스 | 객체지향 인터페이스 설계 실패로 인한 각개전투 묻지마 코드. | |
1. 도메인 모델을 map으로 사용. | |||
2. 계층, 모듈화 무시. 인터페이스 설계 없음. | |||
3. 비슷한 일을 하는 class가 중복으로 존재. class가 1000라인을 넘어감. | |||
4. 비즈니스로직의 일부 혹은 전체가 SQL or PL/SQL에 탑재 | |||
멀티 스래드 | 멀티 스래드 객체의 자원 공유(static,singleton) 오류 위험 | ||
일관된 예외 처리 | 1. 공통 예외처리를 위한 서버(java) & 클라이언트(javascript or actionscript) 로직이 없음. | ||
2. 예외 발생에도 불구하고 '성공적으로 실행되었습니다'라는 메세지가 발생. | |||
DB 무결성 | 1. FK가 잡혀있지 않음. 어플리케이션에서 무결성 관리가 되지 않음. 채번(PK)에 오류. | ||
2. 트랜잭션 관리가 되지 않음. | |||
형상관리 | 형상관리의 부재 : 형상관리 위한 CVS or SVN등을 사용하지 않는다. | ||
경고 | 프레임웍 도입 | 자체 프레임워크를 개발해서 도입 (자바One에서 나온 실패한 프로젝트의 대표적인 원인. 유지보수가 힘듬) | |
MVC프레임워크를 사용하지 않음. (즉 MODEL-1 기반의 project.) | |||
Hibernate등의 ORM을 사용하지 않음. | |||
선언적 트랜잭션 또는 예외처리(레이어링 or AOP)가 없거나 도입했는데도 사용하지 않음. | |||
불필요한 코드 | 소스코드에 불필요한 try-catch문이나 트랜잭션 관련 API가 포함됨, | ||
단위테스트 | 자동화된 테스트 케이스(JUnit등)가 부족하거나 없음. | ||
성능 | 대용량 요청 등에 관해 성능을 무시한 && 병목구간을 발생시키는 코딩. SQL튜닝이 안되어있음. | ||
보안 | 기본적인 보안관리가 안되어 있음 (SQL공격, 인증우회 등등). | ||
클라이언트 소스 | 어설픈 Ajax 사용으로 인한 동기화 / 비동기화 처리 실패 인한 산발적 오류 발생 | ||
비지니스로직의 일부가 클라이언트 스크립트로 코딩되어있음. | |||
DB설계미스 | DB설계 미스 & 정규화 실패로 인한 잦은 join과 대량의 중복 & null컬럼 발생 | ||
개발롼경 | Ant나 Maven을 사용하지 않음. | ||
DB중심의 프로그래밍 | 업무 로직이 SQL 또는 SP에 들어가 있음. DB특유의 프로그램(pakage/function)이 자주 사용됨. | ||
권고 | 서버 코드 | 일반적인 표준/오픈소스 패키지를 사용하지 않고 자체 개발/코딩 | |
ex) Concurrent패키지의 Executor를 사용하지 않고 new Thread(runnable).start() 등의 명시적인 스래드 생성 코드를 사용. | |||
ex) Apache의 Util을 사용하지 않고 자체 개발한 StringUtil을 사용 | |||
UI중심의 프로그래밍 | 클라이언트 스크립트의 비중이 과도하게 많음. 업무로직이 스크립트에 탑재되어 있음. | ||
개발 표준 | 네이밍 룰이 없거나 혹은 지켜지지 않음. | ||
Logging정책이 없거나 지켜지지 않음. (소스코드에 System.out.print... 등의 코드가 출현.) | |||
DB중심의 프로그래밍 | PL/SQL등의 SP가 사용된적이 있음. | ||
성능 | 인덱싱 miss 및 SQL튜닝 miss로 인한 속도 저하. 어설픈/잘못된 페이징 처리. | ||
주석 | 난잡한 주석 or 필요한곳에 없는 주석 or 틀린주석(갱신이 안된 주석) | ||
보안 | 잘못된 공인인증서 사용. (클라이언트에만 인증서 로직이 들어감.) | ||
의존관계 정의 실패 | lib에 많은 jar가 있지만 어디에 사용되는지 확인 불가. | ||
jar가 각기 다른 버전으로 중복해서 존재. | |||
서버 코드 | 일반적인 표준/오픈소스 패키지를 사용하지 않고 자체 개발/코딩 | ||
ex) Concurrent패키지의 Executor를 사용하지 않고 new Thread(runnable).start() 등의 명시적인 스래드 생성 코드를 사용. | |||
클라이언트 소스 | IE 위주의 코딩 (비표준, 마이플랫폼 등의 국산 X-internet, table레이아웃 등) | ||
JavaScript와 css가 html상에 섞여있음 | |||
개발환경 | 지속적인 통함툴 또는 이슈 트래커를 사용하지 않음. | ||
FTP등을 사용하여 문서/자료를 공유함( 즉 온라인 위키 문서 공유를 하지 않음.) |
반응형
'개발도 하냐?' 카테고리의 다른 글
SI개발자 발전단계 (0) | 2009.12.06 |
---|---|
무능력한 개발자 (0) | 2009.12.06 |
한국에서의 개발방법론이란.. (0) | 2009.12.06 |
XP 개발방법론 (0) | 2009.12.06 |
JAVA Application 한글깨짐 해결 (0) | 2009.12.03 |