RPi 400
로그인
RPi 400
로그인
클린코드, 리팩토링, 시큐어코딩
상현
·
2023년 1월 15일
팔로우
0
WIL
0
cs스터디
목록 보기
1/28
클린코드
코드를 처음 보는 사람도 동작방식을 알 수 있게 해주는 깨끗한 코드
가독성 있는 코드를 통해해석에 드는 시간과 노력을 줄여줌
가해성
코드의 구성요소를 파악하는 데 도움을 주는 것들
언어별 네이밍 방식을 지키는 것
팀원간 IDE 포맷터 세팅을 통일화 하는 것
파일당 행을 500줄 아래로
파일은 두괄식으로 작성
최대 가로 길이 통일화
함수를 작게 구성함
들여쓰기(
if
,
for
등)가 많아지면 다른 함수로 대채
하나의 객체는 반드시 하나의 동작만의 책임을 갖는다(단일 책임 원칙)
다른 객체와의 의존성이 줄어들게 함
함수가 한 화면을 넘어가지 않게 함
주석을 최소한으로 사용
중요도가 낮아 관리가 잘 안되기 때문
TODO/제한 사항
특정위치에 몰아서 작성하여 관리하기 쉽게 함
가독성
개발자들이 코드를 이해하기 쉬운지 어려운지를 나타냄
추상화
함수는 하나의 추상화 단계만을 처리함
n단계의 추상적인 함수는 n-1단계의 추상적인 함수로 이루어짐
이름을 명확하게 짓기
축약, 대명사, 생략을 사용하지 말 것
서로 무관한 함수에 같은 이름을 사용지 말 것 (구분가능성)
서로 연관된 함수에서 다른 이름을 사용하지 말 것(일관성)
매직넘버, 매직 스트링을 사용하지 말 것
하위 함수일수록 이름을 구체적으로
하위 변수일수록 이름을 추상적으로
인자가 많아지면 구조체나 클래스로 묶어서 보내는 것이 좋음
리팩토링
결과의 변경 없이 코드의 구조를 재조정하는 것
가독성을 높이고 유지보수를 편하게 하는 것이 목적
기능을 변경하거나 버그를 고치는 작업은 아님
리팩토링을 할 때는 기능을 추가하지 말 것
리팩토링을 하는 이유
중복되는 코드를 제거
소프트웨어를 보다 이해하기 쉽게 만들어줌
버그를 찾기 쉬워짐
주의사항
리팩토링 전에 코드가 정상적으로 돌아가는 지 확인해야 함
시큐어 코딩
개발 단계에서 소프트웨어의 보안 약점을 제거함
개발자의 실수, 코드상의 오류, 사이버 공격 등을 차단
입력 데이터 검증 및 표현
SQL 인젝션을 막기 위해 입력데이터를 검증하여 안전하게 만듦
공격 의심문자를 html상의 코드로 바꿔 해당 코드의 실행을 막음
상현
팔로우
다음 포스트
객체 지향 프로그래밍
0개의 댓글
댓글 작성
관련 채용 정보