https://gall.dcinside.com/board/view/?id=programming&no=2829956&fcno=9038098


적당한 프로그래밍.레거시 리팩토링을 나는 종종 하는 편임.왜냐면 이전 개발자가 좆같이 짠걸 수정하거나, 일정이 급해서 내 코딩중 해당 규모의 구조로 정리한걸나중에 내가 다시 기능 추가 보완을 하는 경우가 많음.내가 한건 아무런 문제가gall.dcinside.com

https://gall.dcinside.com/board/view/?id=programming&no=2829972&fcno=9038131


프로그래밍 언어는 왜 언어인가?프로그래밍 언어가 왜? 언어인지 모르는 애들이 많다.언어란 무엇인가?언어는 명사, 형용사, 동사 등으로 이루어져있다.촘스키 형님이 형식언어 문법 이론으로 잘 설명해주셨는데 형식언어를 매우 단순하게 설명하면S-&gall.dcinside.com

https://gall.dcinside.com/board/view/?id=programming&no=2837580&page=1


코딩의 기초https://gall.dcinside.com/board/view/?id=programming&no=2829956&fcno=9038098 적당한 프로그래밍. - 프로그래밍 갤러리레거시 리팩토링을 나는gall.dcinside.com

https://gall.dcinside.com/board/view/?id=programming&no=2837588&page=2

확장의 한계https://gall.dcinside.com/board/view/?id=programming&no=2829956&fcno=9038098 적당한 프로그래밍. - 프로그래밍 갤러리레거시 리팩토링을 나는gall.dcinside.com





좋은 코딩이란 무엇인까?

라는 정답을 찾기위해 사람들은 클린코드, 객체지향, 디자인패턴을 찾음.


그리고 그 가운데서 해매는 가운데 어려운 코드를 짜는 사람.

남들이 모르는 코드를 짜는 사람. 복잡한 디자인패턴을 사용하는 사람이 훌륭한 개발자가 되어버리는 세상이 되어버림.


너는 디자인패턴의 ㅇㅇ를 구현할줄 모르다니, 이것을 이해하지 못한다니 너는 수준이 낮네.

라고 생각해버리는 과도한 지식의 저주 가운데 개발자들은 살아가고 있음.


그건 좋은 코딩이 아님. 나중에 코딩이 더욱 발달해서 12차원의 원리가 정답이 될때, 15단계 함수호출이 이루어지는 아키텍쳐가 

각광을 받는 비현실적인 세계 속에 살아가겠지.


좋은 코딩은 언제나 단순함.

사람이 이해할수 있는 코드.

사람이 이해하기 쉬운 코드.


쉬운 코드는 언제나 쉬운코드임. 

기능의 요구와 간결함 만을 남겨둔체 나머지 복잡성을 제거하는 것임.


그래서 개발자는 개발자의 지식 도메인에서는 좋은 코드를 완성할수 없음.


왜냐면 개발자의 지식 도메인에서는 만드는 방법에 대한 지식은 있지만.

어떻게 만들 것인가? 제작이란 무엇인가?


라는 지식이 존재하지 않기 때문임.


이러한 지식은 개발자 세계에서는 찾을수 없고, 디자인 세계에서 찾을수 있음.


디자인의 몇가지 명언을 소개해주겠음.

형태는 기능을 따른다.

완벽함이란 더할 것이 없을 때가 아니라, 더 이상 뺄 것이 없을 때 이루어진다.



첫번째 명언은 기능주의를 대표하는 말이고

두번째 명언은 최소주의를 대표하는 말임.


결국 무언가를 만든다 라고 할때는 제작자의 제작에 대한 관점이 묻어나게 되어있음.

무엇이 좋은 코드인가를 이해하려면 패턴을 넘어서는 지식이 필요함.


그것은 관점에 대한 지식임.

그리고 이것은 디자인에서 찾을수 있음.


개발자는 기능주의와 최소주의에 대한 관념적 지식과 감각을 습득해야함.

그래야 적당한 코드를 짤수 있음.



그 이외의 디자인적인 사소한 지식들이 도움이 될수 있음

대칭의 원리 같은 지식들이 너의 코딩이 효과적인지를 판단하는 지식의 일부가 됨.



너의 코드가 좋은 코드인지를 판단하고자 할때는 이 2가지를 우선적으로 생각해보길 바래.


너의 코드에서 제거해도 상관없는 부분은 어디인가?

너의 코드에서 목적과 기능이 얼마나 구조 가운데 들어가는가?


하는 것들임.


나중에 구조주의 같은 것들도 배우면 좋음.

형은 그냥 구조주의 앞에서 더이상 학습은 하지 않음.


구조를 어떻게 세워야 하는가? 구조를 세우는 원칙 같은게 궁굼했었는데

si에서 oop도 쓸일이 많지 않은데, 그 이상의 지식은 너무 허무했거든.



아무튼 디자인패턴에서 해매지 말고 디자인에 대해서 공부해라..

결국 제작은 목적의 관철을 실현하는 것이야.

그것을 어떻게 바라보느냐가 제작의 근본임.