프로그램 설계 스킬업에 대해서 헬프
글쓴이: icabord / 작성시간: 화, 2008/09/09 - 1:22오후
안녕하세요.
같은 질문을 또 올립니다.
다름이 아니라, 다들 아시다시피 자료구조, 알고리즘 같은
어떻게 하면 프로그램을 효과적으로 짤 수 있는지에 대해서는 거의 배우셨을 거라고 봅니다.
저 또한 저 두 과목을 배웠으며, 잘 안다고 할 수 없지만 어떤 것이 있으며 어떤 것을 말하고자
하는 지는 알고 있습니다.
그런데;;
자아비판 일 수도 있지만, 제가 프로그래밍 한 것을 보면 제가 봐도 절대 좋은 프로그램이라고 할 수는 없는 것
같습니다.
결과가 나오지만, 흔히 말하는 하드코딩과 가독성이 떨어지는 코드를 보고 있자면 소질이 없는가보다 라는 생각도 드네요.
제가 궁금한 것은
어떻게 하면 프로그램을 잘 짜는가, 그 무엇보다도 설계를 잘할 수 있는가 입니다.
커널 소스를 많이 보라 라던가, 짬이 해결해 준다 라는 답변도 환영합니다.
그냥 대충이라도 답변 부탁드립니다.
좋은 하루 되세요.
Forums:
읽기
좋은 글을 쓰려면 좋은 글을 많이 읽어봐야한다고 하지요. 좋은 프로그램을 짜려면 좋은 프로그램을 많이 읽어보셔야 합니다.
아파치 소스 같은 거 받아서 읽어보세요.
제 생각에는..
저도 실력이 없어서요 감히 말씀을 드리기가 어렵지만
답답해하시는거 같아... 제 생각을 말씀드리겠습니다.
제가 대학다닐때는 사실 설계를 생각해볼 겨를이 없었습니다.
주먹구구식으로 작은 프로그램을동작시켜보는 예제작성해보는게 전부였습니다
그런데 이런게 쌓이다보니 4학년때부터 슬쩍
리눅스 커널소스도 보게되고, 졸업작품 만들기 위해 유명한 오픈소스도 보게되었습니다.
그 소스가 기술적인 공부가 된 부분도 있지만...
대형 프로그램은 이렇게 작성하니까 좋구나
하는걸 느낀것이 큰 이득인것 같습니다.
그래서 설계능력 향상에 도움되는
첫번째는.... 일단 큰 소스코드를 분석하는 것이라 생각합니다.
첨에는 완벽히 이해못하고 좌절하겠지만 반복하다보면 좌절도 익숙하게될듯..(제얘기입니다)
자바도 마찬가지 인것 같습니다.
다른 자바 라이브러리를 분석하다가 나도 모르게 흉내내게 되고 그러면
큰 프로그램을 작성할 수 있는 스킬이 쌓이는것 같습니다.
(개인적생각으로 자바의 스프링 프레임워크는 정말 잘된 설계입니다. )
이제 실력이 쌓여서 대형 프로그램을 만들만한 스킬이 있다치죠..
드디어 큰 소스코드를 직접 구현해보고 싶은데...
사실..
큰 소스로 뭘 만들지 모르는 경우가 많습니다.(제 얘기)
전공지식도 부족한데다 구현대상의 전체 구조를 모르니 만들만한게 없는거죠.
관심이 없어서 구현대상을 파악하기도 쉽지 않습니다.
그래서 중요한게 자기가 관심있는 또 재미있어하는 구현대상을 찾고
작은것부터 시작해서 기능추가를 통해 큰 소프트웨어를 만드는게 좋을것 같습니다.
저같은 초보자들은
만들다가 다시 뒤업고,다 지우고 다시 만들고 이런 갈아치우는 과정을 반복하게 될것 같습니다.
이게 두번째입니다.
세번째는 꾸준한 전공지식이 필요하다는 것입니다.
큰 소프트웨어가 전공지식이 부족한 상태로 제대로 만들어지기 어려울것 같습니다.
에공
내가 나한테 하는말같네요
@.@
답변 주신분들 감사합니다.
가야할 방향이 조금 잡히는 것 같네요 ^^
다독(多讀),
다독(多讀), 다작(多作), 다상량(多想量)
옛말이 틀린게 없습니다. ^^;
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂