스파게티 코드가 되지않도록
내가 6개월후에 다시 읽어봤을떄 뭘 말하는지 알 수 있게
그리고 더 나아가 남들이 봐도 '이건 이래서 이렇게되는군'이 나올수 있게
주석은 코드를 어떻게 짯느냐보다 이 코드가 왜 필요한가에만 달것(how가 아닌 why?)
기계가 알아먹는 코드는 바보도짜지만, 사람까지 알아먹는 코드는 누구나 짤 수 없다
코드 줄이 5개는 넘지 못하게(사람 인식이 5개이하밖에 인식안된다고..)
코드 중복들 ㄴㄴ해
오늘 클린언어에 대한 특강들었는데 생각나는건 대충 이런정도네요..
물어볼려다가 끝내 못물어봤는데
1.맛폰 플랫폼이 800만 라인이라 그거 되는지 안되는지 돌리는데만 기계하나로 3일걸려서 그걸 조각,분할해서 각기 다른 프로그래머들이 나눠서 짠다고 했는데요
그럼 한마디로 사람을 예를들을때 얼굴,몸,팔,다리 나눠서 짠다는건데 그게 다 조립됐을떄 딱 맞을지 어떻게알아요?
2.최적화란 처음엔 일단 어떻게든 기능하게 만들려고 스파게티 코드든 뭐든 복잡하게 짯다가 나중에 읽어보면서 최대한 논리를 간결하게,중복되지 않게 즉 클린코드하는거인가요? (즉 기능하게만들려고 스파게티코드->가독성높일려고 클린코드-> 최적화완성!)
근데 클린 언어란게 최적화인가요?
전문대(175.115)
2013-03-19 01:24
추천 0
댓글 15
다른 게시글
-
포춘쿠키 플래시같은거 역공학으로 소스 알아낼수있어? [2]f(211.196) | 13.03.19추천 0
-
float right position fixed 가안됨 [8]1ㄷ1ㄷㄷ(175.215) | 13.03.19추천 0
-
소수점자리 버림 어찌하나요? [6]ㄷㄷㄷ(125.135) | 13.03.19추천 0
-
프갤은 정모 안함? [3]exploit(goudongxi) | 13.03.19추천 0
-
형님들 툴제작을 공부하고싶은대 어떤게요즘 배우면좋나요?근성가이(211.237) | 13.03.19추천 0
-
1234님 나름 생각해봄 [4]ㅎㅋㅋㅋ(59.152) | 13.03.19추천 0
-
이문제 아무도 해결할줄아는자는 정녕 없는가.. 3주째 고민중 [1]1ㄷ1ㄷㄷ(175.215) | 13.03.19추천 0
-
저 전문대생인데 솔직히 말씀해주세요 (진지) [3]전문대(175.115) | 13.03.19추천 0
-
저기 근데 int *pt랑 int (*ptr)이랑 뭐가다름?? [1]야간편돌이(175.196) | 13.03.19추천 0
-
윈도우프로그래밍과 웹프로그래밍(살려줘요!)인토(39.7) | 13.03.19추천 0
1번 항목은 협업이네, 난 두명이서는 해봤는데, 생각보다 재미지고 할만함. 내가 만들곳 니가만들곳 정하고, 메서드 이름이랑 형식 알려주고, 서로 존나 짬. 프로젝트를 하나 새로 생성해서 합침. 물론 사람이니까 이런 규칙 말해주고 해도 미스는 남. [from Lumia 920]
내 경험상 2번처럼 했다가는 최적화는 없음. 지금 내가 2번처럼 구현한 프로젝트가 있는데, 아주 대차게 말아먹음. 기능구현은 되어있어서, 서비스는 유지하고 다시 구현해야할 수준임. [from Lumia 920]
2번은 저도 프갤에서 본건데 처음 프로토타입으로 코딩을 하고 그 다음에 최적화 해서 버전을 냄.. 근데 기획자 입장에선 그것도 프로토타입이라면서 또 다시 재구성시키고 해서 프로그래머들이 야근과 라면의 신이 된다고 봤네여
코로나님 말대로 다시 만들고 다시 만들고 해서 야근 졎빠지게 하나봄.. 애초에 만들 때 잘 만들어야 하나봐여
근데 결국엔 맨 처음 프로젝트를 설계할 때, 구조를 파트별로 잘 나눠서 코딩을 시작하면 나뉜부분 따로따로 최적화하면 되니깐 상관없지않음?
구상 자체는 레고를 생각하면 됨. 레고로 로봇을 만든다고 했을때 접합부만 존재하면 아구가 맞듯이, 팀 프로젝트도 비슷한 거
이번기회를 통해 기능은 한번에 스펙정해야 한다는 결론 내림. ... 구조를 파트별로 나눠도 이런 문제는 생김 [from Lumia 920]
ㄷㄷ...
클린코드는 그냥 코드를 깔끔하게 짜자는 얘기고. 코드 설계 고치는건 리팩토링이지 최적화가 아님. 절대로 막 짠 다음에 나중에 고치자는 얘기가 아니라, 한번에 큰 설계를 하지말고 지속적인 설계를 하라는게 골자임
예로들면, 데이터베이스를 관리하기 위해 싱글톤 객체를 생성함. 그리고 거기에 데이터 어뎁터, 리더 등을 꼴아박고 갖가지 형식의 리턴타입을 가진 메서드들을 생성함. 프로젝트 초기 데이터처리는 데이터셋이라는걸로 하고, 뷰에 바인딩했음. 그런데 이게 심각한 메모리 점유율을 보임 [from Lumia 920]
그래서 데이터테이블로 바꾸고 뷰의 객체둘을,클래스로 만들어 관리. 그랬더니 슈발 일관성 없는 프로그램이 나옴. [from Lumia 920]
이렇게 설계를 다시 한 두번째 방법이 훨씬 효율적인데, 코드를 수정하기가,여의치 않음. 무려 허접한 규모의 프로그램인데도 이정도임. 대규모라면, 꿈도 꾸기 싫을정도임 [from Lumia 920]
클린코드라면, 인식률이 높으면서, 코드의 의사가 명확하면은 개뿔, 그냥 이해 잘가고 충실하게 구현되면 됨. [from Lumia 920]
LastCorona//
http://www.yes24.com/24/goods/1534172?scode=032&OzSrank=2
이렇게 줄창 써봤자 정작 글쓴이는 다른소리 한다에 한표