처음에는 스택, 힙, 리스트 같은 그런 자료구조를 말하는줄 알았지만, 클린 코드에서 말하는 자료구조는 다른 개념입니다. 자료구조 자료구조는 가지고 있는 변수를 그대로 노출시킵니다. 이를테면 struct Animal { var kind: String var age: Int } 이런 구조가 자료구조가 될 수 있겠네요. 또 이런경우도 자료구조라 할 수 있습니다. class Animal { private var kind: String private var age: Int init(kind: String, age: Int) { self.kind = kind self.age = age } func getKind()->String{ return kind } func getAge()->Int{ return age } ..
우리는 흔히 함수는 하나의 작업만 해야 한다고 합니다. 그런데 하나의 작업이란 어떤것을 뜻하는지 정확히 알지 못해서 많이 햇갈렸습니다. 그렇다면 if문이나 for문 이런것도 각각 하나의 함수로 만들어줘야 하나? 함수 안에 또다른 함수를 이용하는것은 여러가지 작업을 하는것이니 이런식으로 구현하면 안되나 등등 고민을 많이 했습니다. 클린 코드(로버트 C 마틴)에서는 한가지 작업이란 다음과 같이 정의합니다. 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한가지 작업만 한다. 처음 들었을때 무슨소리인가 하겠지만, 예제를 하나 보면 이해하기 쉽습니다. 로그인 기능을 구현한다고 가정해보겠습니다. 저희는 버튼이 클릭하면 로그인 기능을 담당하는 객체의 로그인 함수를 통해 로그인을 진행합니다. class LoginO..
깨끗한 코드란? 코드가 문장처럼 읽히고, 어떤 일을 하는지 명확하게 알 수 있는 코드. 이를 위해서는 함수, 변수, 클래스 등등의 이름을 잘 지어야 함. 의도가 분명한 이름을 사용 var a //a자체는 아무 의미 없으므로 사용 불가 var fileAgeInDays //이런식으로 의미가 분명한 이름을 사용 그릇된 정보를 피해라 약어 사용 지양 hp같은 약어 쓰지말고 그냥 풀어서 사용 List같은 특수한 의미는 분명하게 사용 실제 List로 구현하지 않은 것에 List같은 특수한 의미가 있는 이름 사용 금지 groups, ~s로 사용 서로 흡사한 이름 사용 금지 불용어 사용 금지 Product, ProductInfo, ProductData 같은 다른 사람이 보았을때 어떤 차이가 있는지 알기 힘든 이름 사용..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.