코딩이란 각 모듈에 대한 소스코드를 작성하며 문서화하는 단계로 설게서를 기본으로 진행해야 합니다.
코딩 단계에 할당하는 시간은 다른 단계의 작업보다 대체적으로 적습니다. 하지만 그 결과는 소프트웨어 품질에 미치는 영향이 매우 크기 때문에 정확하고 올바른 소스코드를 생성하는 것이 중요합니다.
신속하고 빠른 작성은 이차적인 목표로 견고한 코드를 작성하는 것을 우선시해야 합니다.
컴파일이 가능한 프로그래밍 언어의 경우 컴파일 단계에서 대부분의 오류를 잡을 수 있지만, 이것이 불가능할 경우 런타임 중에 어떤 오류를 나타낼 지 알 수 없습니다.
흔히 발견되는 오류는 정해져 있는데 다음과 같습니다.
코딩 표준은 코딩할 때 서로 지키는 규칙들이며 만들어진 코드의 가독성을 향상시킵니다.
코딩 표준은 프로그래밍 언어마다 다를 수도 있고 프레임워크 종류에 따라서도 다를 수 있습니다. 그래서 공통된 코딩 표준을 사용하는 것이 중요합니다.
표기법이란 클래스나 메소드 및 변수 이름 등에 대한 이름 규칙입니다.
대표적으로는 카멜 케이스(camelCase)와 파스칼 케이스(PascalCase), 헝가리안 케이스(Hungarian Notation), 스네이크 케이스(snake_case) 등이 있습니다.
헝가리안 케이스는 변수명 등의 앞에 자료형을 붙이는 것을 말합니다. 자료형이 중요한 c언어 진영에서 많이 사용되었으며 다른 언어에서는 거의 사용하지 않는 것 같습니다.
ex) int iSum = 50;
표기법 뿐만 아니라 들여쓰기나 괄호 또한 코딩 표준에 해당합니다. 이는 프로그램 구조를 명확하게 하기 위해 사용합니다.
들여쓰기는 공백 문자를 사용하는데, 이때 공백문자는 tab 보다는 space를 이용하는 것을 권장합니다. tab은 설정에 따라 크기가 달라질 수 있기 때문입니다.
괄호는 코드 블럭을 구분하는 단위로 사용됩니다. 코딩 표준에 따라 다르지만 한줄의 코드를 실행하는 분기문이라고 할 지라도 구분을 위해 괄호를 사용하는 것을 권장하고 있습니다.
이 외에도 키워드 뒤에 공백을 넣거나 여는 중괄호의 위치 같은 사소한 것도 코딩 표준이라고 할 수 있습니다.
리팩토링(refactoring)이란 결과의 변경 없이 코드의 구조를 재조정하는 것을 의미합니다. 여기에서 중요한 것은 결과의 변경이 없어야 한다는 점 입니다.
코드스멜(code smell)은 리팩토링이 가능한 요소가 남아 있다는 신호라고 할 수 있습니다.
코드 스멜은 다양한 요소로 존재할 수 있습니다.
코드 인스펙션이란 프로그램을 눈으로 보고 확인하는 방법입니다.
보통은 정적 분석도구를 이용한 검사를 끝내고 이루어지며 효율성이나 결함 등을 찾아내는 작업입니다.
보통 IDE에서 제공하는 Warning Information등에 해당하며 데드코드나 사용하지 않는 변수 등을 찾아서 제거합니다.
페어 프로그래밍은 애자일 개발법에서 두명이서 짝을 지어 코딩하는 것으로 서로가 프로그래밍과 검증을 진행하는 방법입니다.
테스트 주도 개발에 대한 간략한 설명을 적어놓았습니다.