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