프로그래밍 공부방향에 대한 고민

nexusz99의 이미지

약 2년전에 C언어를 처음 접하고 프로그래밍이 무엇인지 알게되었습니다.
그 이후에 다양한 관심을 가지면서 이것저것 끄적여 봤죠. Java, C#, php, Linux, Embeded..

하지만 뭐 하나 제대로 한게 없었습니다. 그나마 C#은 좀 재미있게 공부해서 코딩할일이 생기면 그냥 C#으로 개발하곤 하죠

근데 개발할 때 저의 문제점이 있습니다. 어떤것을 함수화 해야되고 클래스로 묶어야되고 또.. 한번 쓴 코드는 일회용으로 되버린다는거죠..
나중에 그 소스를 봤을때 이런게 어떻게 나왔지.. 할 정도입니다..

그냥 아무 지식없이 그냥 프로그래밍 문법만 익힌상태에서 발코딩을 한 샘이죠..

이제부터 어떤식으로 공부해서 좀더 좋은 코드를 작성할 수 있을 지 모르겠네요..

조언 부탁드립니다.

sev314의 이미지

디자인 패턴을 한 번 둘러보시는 건 어떨까요?

shei77의 이미지

----------------------------------------------------------
It's feasible to make an inspiration on your own.

----------------------------------------------------------
It's feasible to make an inspiration on your own.

lazicat의 이미지

우선 도서관에 가셔서 컴퓨터 원서 코너에서 예제 코드(2page이상 짜리)를 아주 많이 복사해 옵니다.

그리고 http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign
(객체지향 설계의 원리)

여기 있는 원리들을 숙지하신 상태로 복사해온 코드를 Review합니다.

복사해온 코드를 보지않고 손코딩!!!을 합니다. 키보드로 치는 것보다 공부가 많이 됩니다.

이걸 취미로 일주일에 한번씩 합니다.

그리고 항상 객체지향 설계의 원리에 대해 고민합니다.

자신의 설계에 반영해 봅니다.

잘 안됩니다.

디자인 패턴을 공부합니다.

;;; 지극히 개인적인 의견이니 참고만 하세요 ^^

Flour의 이미지

공감이 많이가네요

rubenz의 이미지

제 경험상으로는 그냥 공부차원에서는 실력이 제자리로 돌아 올겁니다.
작성할 프로그램의 목표를 정확하게 하세요.
즉, 어떠한 상황에서 어떻게 움직인다...라는 목표를요.
이 목표를 설정할때에, 깊이가 필요한 것이 좋습니다.
텍스트를 줄단위로 읽어서 형식에 맞지 않는 것을 빼고 맞는 것만 주어진 대로 다시 저장하는 프로그램을 작성한다면,
이때에 반드시 제약 사항을 두어야 합니다.
그냥, 단순히 어? 그럼 정규표현식 라이브러리 쓰고, 파일 열면 되겠네가 아니고,
10G가 짜리 피일을 5분안에 4Core짜리 8G 메모리에서 모두 필터링 해야 한다. 이런 식으로요. 또한 그 형식은 정의에 의해서 여러가지로 적용 가능해야 한다.

이런식으로 목표와 제약사항을 정확히 하고, 설계가 되었든 머든 그다음부터는 목표를 따라 가는게 공부하는 데에는 좋을것이라고 생각됩니다.(목표를 이루기 위해서는 여러가지 검토도하고 테스트하게 되어 있습니다.)

dwlee의 이미지

동감합니다.

hongminhee의 이미지

개발한 모든 프로그램의 소스를 github, bitbucket 같은 곳에 공개해서 배포해보세요. 이걸 습관화하면 남의 눈을 의식하게 되서 점차 소스 코드가 나아집니다.

홍민희 (VLAAH, LangDev)

lateau의 이미지

저도 비슷한 문제가 있는데,

1. 회사에서 작성하는 코드 = 1회용
2. 집에서 짜는 코드 = 간결, 유지보수 편함

이라는 겁니다... 아무래도 즐겁게 짜는거랑 '언제까지 어떻게 하시오'라는 정해진 포맷 안에서 발버둥 치는거랑 차이가 나는 것 같네요.
환장하겠습니다. 회사에서 짠 1회용 코드가 결국 다음 사람 괴롭히는 거고 그게 저한테도 돌아오니까요.

회사에서 명상을 하며 마음을 편히 한 다음 코드를 짜야하는 걸까요. :(

--
I think to myself...what a emerging world.