심심해서 요 근래 3일동안 구현한 코드의 수를 세어봤다...
헤더는 대략 430줄... 소스파일은 대략 2600줄...
뭐 굳이 의미는 없다만...
허접한 학부생으로써 요즘 기초의 중요성을 많이 느끼는 요즘이다...
그래서... 센치해지는 지금 시간대에... 느낀점을 몇자 적어보려고 한다.
뭐 결론부터 말하자면... back to the basic 이다.
1. 설계의 중요성...
우선 시나리오 즉, 요구사항에 대해 정리를 하며 키워드들을 정리하자.
요구 사항에 대해 전체적으로 잘 표현해 줄 수 있도록 만들어놨다면, 이를 설계로 살며시 가져오자...
몇 줄 안되는 정도면 상관이 없겠다만... 사람이란 망각의 동물이라던가...
우리의 기억은 완전하지 않기 때문에
원하는 목적을 수행하는데 이리저리 갈대 같이 흔들리며 목적지를 잃는 경우까지 있다...
많은 시행착오를 겪는다 이거지... 물론... 비상한 머리를 소유하신 분들이라면 예외일 수도...
아무튼... 설계를 제대로 해둔다면, 이를 통해 아름다운 프로그램을 구현하는데
길을 방황하지 않고 온전하게 순항할 수 있을 듯하다.
많은 이들은 SW 개발은 건물을 짓는 것과 같다고 한다.
건물이 무너지지 않기 위해 설계부터 꼼꼼히 하듯,
SW 개발 또한 예외가 없다...
생각으로부터 코드가 아닌,
생각을 거쳐 작성된 설계본으로 부터 코드가 나오도록 하자...
모든 것을 세세하게 설계할 수 없고, 그때 마다 머리를 쥐어짜며 만들어야 할 필요들이 많지만
전체적인 설계는 구현 이전에 반드시 필요하다. 뼈저리게 느꼈다...
2시간동안 머리로 짠 코딩이 8시간이 될 수 있다...
하지만, 2시간동안 설계한 다이어그램을 바탕으로 2시간만에 구현할 수 있다면...
어느게 효율적일까?
물론 UML 다이어그램을 만들 때... 내가 뭘 하는것인가 하는 생각이 들기도...
설계를 한다는 것은 이를 문서화 한다는 것도 해당이 된다.
개발하는 과정마다 문서화를 하는 것... 문서와 친하게 지내야지...
2, 개척가 정신...
우선 뭔가 저질러보면, 부족한 부분들이 눈에 보이기 시작한다...
이때마다 부족한 공부를 함으로써 채워나가야 하는데...
자신이 필요한 것에 대해 뭔지 정확한 판단을 하고
이에 대해 스스로 터득하며 개척해나갈 수 있는 능력을 가져야한다...
이 말인 즉, 부족한 부분을 채워나가기 위한 action이 중요하다는 것...
3. 스파게티 코드...
이 글도 점차 스파케티가 되고 있군...
코드의 양이 점차 늘어가며 난관에 봉착하게 되면,
간결하게 만들고자 하는 코드는 점차 스파게티와 같이 소스에 범벅이 되어가는 듯 하다...
나중에 한꺼번에 코드 수정을 하겠다가 아닌,
중간 중간마다 깔끔하게 코드를 고쳐나가야 하는 것이 맞는 듯하다... (오류 수정이 아니다)
하... 물론, 지금 이 글을 쓰고 있는 본인은... 실행만 되는 스파게티 코드를 가지고 있지만...
점점 시간이 흐를 수록 간결하고 이쁜 코드를 만들기 위해... 그리고 예외 처리등...
여러 상황들에 고려하지 않고 코드를 작성하고 있는 내 모습을 보며...
고민없는 타이핑은 단지, 코더라는 말이 문득 떠올랐다...
끝없는 고민을 통한 한줄 한줄 작성... (물론 고민이 필요한 부분에서...)
이 또한 중요함을 느꼈다...
책과 칼럼 그 외 현업에 계시는 많은 분들의 글을 보고 배우고 있지만...
그 말을 지키기가 어디 쉬우리...
지금 이 글을 작성하며 느낀점들을 써 내려갔지만...
어차피 다 기초적인 내용들에 대한 느낌들 뿐이지...
하지만, 눈으로만 보며 기초에 대한 중요성을 느낄 때와
지금과 같이 실제로 겪어보며 기초에 대한 중요성을 느끼는 것은 천차만별이라는
확실하고도 당연한 생각이 든다...
결론은 back to the basic... 기초가 중요하다...
겉멋들지말자... 하하...
'잡동사니 > - 일기' 카테고리의 다른 글
preventDefault()와 keyCode 그리고 Focus()... (0) | 2016.06.01 |
---|---|
href target none (#none) 어이없는 삽질... (0) | 2016.06.01 |
#20150725_ 코드가 어떻게 CPU에 의해 처리되는지 알기 위해 (0) | 2015.07.25 |
#20150723_컴퓨터는 거짓말을 하지 않는다... (0) | 2015.07.23 |
#20150718_야심한 밤에... (0) | 2015.07.18 |