github star가 그렇게 만만해 보였군요….

잡소리라서 도중에 글이 산으로 갈 수 있습니다….

이번 SKT github 스타 어뷰징 사컨….

한마디로 대단합니다.

트위터에서 솔직히 이걸 봤을 때, 그냥 반사적으로 욕부터 나왔습니다. 일반인을 상대로 하는 이벤트 같은데 내 눈이 잘못된 줄 알았습니다. github? 내가 아는 그 동네?

욕이 척수반사로 나올 수 있다는 걸 알려준 시초…

첨에 뭔가 잘못된 줄 알았는데…

진짜 SKT 계정이야….
………..

그리고 나서 어떻게 진행되나 싶어서 쫙 봤더니…

성원에 힘입어 조기 마감?

…………(빠직)

역시 나의 SK….. (규링은 SK에 데인 게 워낙 많아서 오프라인에서 엄청 깝니다.)

그래서 그 잘난 넘의 github에는 어떤 상황일까 해서 찾아서 가보고 하니….

당연하죠. 당연히 멀쩡한 분들이 이런 걸 보고 그냥 놔둘 리가 없죠. 어뷰징 중단 이슈를 올립니다.

역시 세상에는 먼저 움직이고 깨어 있는 분들이 많다는 걸 깨닫습니다.

그리고 이건 뭐 SKT쪽 마케팅의 문제나 뭐 그런 레벨에서의 문제이고 그럴 줄 알았습니다만….

알았습니다만…..

이런 내용은 스샷으로 박제하고 시작하는 거라고 인터넷이 가르쳐 줬던지라 잘 찍어뒀습니다. 게다가 저거 실명입니까? 개발자 커뮤니티에서 영원히 두고두고 까일 껍니다. 저 아니어도 많은 사람들의 뒷풀이 술안주 되시겠죠.

……….개발자가 오픈소스 생태계에다가 마케팅으로 돈 때려박고 홍보하는 거 가지고 어디서나 나 하는 거라고? 일종의 프로모션? 일반인이야 뭐 상품권주고 그런다면 당연하게 하라는 대로 하지 안하겠냐 씨발아…? 그리고 뭐? 살기위한 몸부림? ………답변 내놓은 꼬락서니 봐라…..

(하…… 또 욕나오는데… 백스페이스를 누르고 싶지가 않다.)

제대로 완성해서 이미 앱스토어에 올라와 있는 앱이라던가, 아니면 배포 준비까지 다 된 솔루션 가지고 홍보물 만들고 광고 내고 뭐 그러는 거하고는 전혀 대응이 다르다는 걸 이양반은 일단 깨닫지 못하고 있더군요. 홍보가 하고 싶었으면 다가오는 개발자 행사에 참여해서 해도 충분히 먹히고 했을텐데 왜…..

씨발 이해고 나발이고….. 어떠한 짓도? 왜? 나처럼 부정하면 와서 찌르게?

당연히 예상대로 반발을 엄청 합니다.

이걸 읽고 스샷 찍고 난 바로 다음에 보인 반응들입니다.. 당연한 반응들이죠. 개발자들끼리 아, 이거 좋은 겁니다 하고 인정하고 할 정도의 것이면 스타를 누르고 하는 공간에다가 어뷰징으로…. 게다가 아까 변명글에다가도 써놨지만 이런 걸로도 트랜드도 안된다고요? 당연히 안되죠. 전 세계 어느 누구나 봐도 충분하다고 싶은 솔루션들 스타 갯수에 비하면 당신들 모은 건 새발의 피 수준이라고 억울하다고 지껄이고 싶겠죠. 그러니깐 답변도 저따구로 달은 거고요 씨발..!

그리고 이런 글에 나타나는 요즘 트랜드인 번역기 등장…

그리고 번역기로 내용 하나하나에 대한 반박들 깔끔하게 정리 되었을꺼라 생각합니다.

그리고 수많은 사람들이 적어줬지만, 깃헙의 스타가 갖는 의미에 대해서는 이 글 타래에 있는 많은 사람들의 내용을 읽어 보시면 아실 겁니다. 제가 아는 많은 분들도 엄청나게 글 올려주셨군요… 내용이 뒤로 가면 갈수록 산으로 가고 해서 이슈 클로즈 되어있긴 해도, 링크 걸어두겠습니다.

https://github.com/metatron-app/metatron-discovery/issues/2405

그리고 첨에 글 올려주신 컨트리뷰터님….

글삭하고 튄다고 해서 그 글 어디 안도망가요. 그건 저 이슈만 봐도 아실껍니다. 그리고 진심으로 사과가 나와요? 진짜로 미안해요? 그렇게 생각해요? 전 앞에 글이 진짜 진심이었다고 생각합니다.

제가 요즘 헛다리 차고 개쑈하다 나간 놈 갖고 반면교사 글 쓰고 있거든요? 이런 짓 하고 살면 안된다는 식으로… 거기에 참고할 수 있을 거 같습니다.

그리고 뭐 이 사과글만 바뀌었겠습니까…..

공지글도 멋대로 바뀌었고….. (제가 스샷 찍기 전에는 깃헙 정보 불일치하면 주지도 않겠다고 했었다고 했다고요? 뭐 님들 이벤트 하는 꼬락서니 뭐 한두번입니까…)
이벤트 담당자도 나타나고….. (그래봤자 어차피 형식적인 사과글입니다.)
더 높으신 분이 오셔서 이슈 관리하면서 사태가 많이 바뀌었습니다.

아마 마지막 이분이 팀장급? 정도 되시는 분인가봅니다. 이분 나타나고 나서 공지글 바뀌고 먼저 글 쓴 개발자가 사과글로 바꾸고, 글이 싹싹 바뀌더군요. 그리고 좀 스무스하게 해결 방안에 대한 논의도 진행되고 그러고요…

저 이슈 글들 쭉 읽어보셨으면 아시겠지만, 진짜로 이 프로젝트 개발 기간처럼 개발하면서 여러모로 신뢰 쌓이고 하면서 많이 알려지고 유명해진 케이스는 많습니다. 그리고 그 증거가 바로 star입니다. 기업의 크기와도 아무 상관 없습니다. 개발자가 유명하던 아니던도 상관 없습니다. 그들이 공유하고 그딜이 나눈 걸로 결정됩니다. 그런데 그런 걸… 그런 걸….

성과 바라고 마케팅 공격적으로 진행하고, 홍보 제대로 알리고 하면서 경쟁력 있고 그러려면 오픈소스 안합니다. 안하는 회사도 많습니다. 그들은 그렇게 해서 오픈소스 진영쪽을 이용하는 것에 대해서 엄청 싫어하고 상업 솔루션으로 도배질하고 하는 그런 게 당연하다고도 여깁니다. 그렇다고 해서 망하고 그러는 것도 아닙니다. 오픈소스가 기여하고 하는 것도 많고, 많은 개발자들이 기여하고 싶어하는 것도 있습니다만 그렇지 않고도 개발은 할 수 있고, 그렇게 진행되오는 솔루션, 분야들도 존재합니다. 그럼에도 불구하고 이런 활동을 통해서 얻어지는 문화와 발전도 있는 것인데 거기다가 찬물 끼얹는…. 그것도 제대로….

아 뒷목 땡겨….

거기에다가 시덥잖게 옹호하고 지랄하는….

게다가 진짜 도중에 옹호글들 이렇게 보이는데… 그 수용성과 정도라는 것도 해당 조건이 맞아 떨어지는 환경을 갖추고 시작하는 겁니다. 댁들 네이버 D2던 파이콘이던 뭐 그런 곳에서 기술 개발한 거 알리고 홍보하고 우리꺼 기술 여기있어요 하고 깃헙 공유하고 그러죠? 그런 것들이 수용 환경으로 갖춰지고 그 정도도 맞는 거라서 먹히는 거죠. 근데 월드 IT쇼 같은 그런 동네에서 우리 소스코드 봐주세요 하면 누가 봐주겠어요? 완성품 하드웨어 쫙쫙 보여주고 뭔가 멋들어진 솔루션 보여주고 하는 그런 동네에서 그런 게 먹히겠어요? 그게 수용성과 정도가 다르다는 겁니다. 어디다가던 그냥 상품권이나 이벤트로 돈 뿌린다고 다 되고 그러는게 아니라요! 어느 산업에나 다 있다고요? 그렇죠 어디나 다 있어요. 근데 그것도 때와 장소와 방법을 다 고려해가면서 하는거지 안그러면 그냥 돈지랄인겁니다 이 병신아! 그러다가 나중에 “야, 우린 마케팅 비용 몇십억이나 썼는데 왜 반응이 없냐?” 같은 개 찐따같은 이야기나 하려고 하나 진짜…. 마케팅 좃도 모르는 것들이 어디서 또 쳐들은 거 있어서 와서 지랄해대는 것들인지… 그리고 지는 졸라 잘썼다고 하면서 자기 글 반박하는 거에 하나하나 또 반박하고 지랄하겠지… 뭐가 틀려서 반박하는지도 모르고….

이 사람들의 개발 내용물보다 이딴 어뷰징으로 쌍욕먹고 하는 짓에 대해서도 좀 뭣같군요. 그것도 제대로 알고 있는 사람들이….

그에 반해 SKT에서는 이게 뭐 그리 문제되는 거냐고 생각하다가 좀 불리하면 저 사람들 짜를까요? 마케팅이나 다른 부서에서는 “개발자들 이해 못하겠어..” 이러면서 개발자들 까고 있을까요? 근데 그러고도 남을 동네같아 보여서 좀….

으휴…..

저보다 더 대단한 분들이 스타에 대해서는 이슈에 자세히 알려들 줬으니 전 그냥 이 사태나 좀 까렵니다.

오랜만에 잡글이었네요.

[Oh! 반면교사] 08. DB 테이블 정규화만 정도껏 해야 되는 줄 아냐? 코드 쪼개기도 정도껏 해야 된다고!!!!

참 오랜만에 글을 남깁니다. 우리의 이 망할 반면교사 오씨….

회사 일 외에도 요즘 강의자료 만드는 걸 좀 도와달라고 해서 그거 좀 같이 해주고 있다가 오랜만에 글쓰네요….ㅠㅠ 시작할께요.

오씨의 코드에서는 여러 치명적인 단점들이 엄청나게 있는데… 오늘은 코드 쪼개기, 모듈화에 대해서 이야기를 하려고 한다. 제대로 병신같은 형태로 과도하게 쪼개고 이상한 형태로 모아두면서 재사용성 강조한다면서 해놓은 짓이….

본인 스스로의 가독성을 떨어뜨려서 어디다가 구현했는지도 모르고 어떻게 수정해야 되는지도 모른다는 것이 말이 되냐?!!!?!!?!?!?

이런 쓰레기 구조를 일주일만에 싹 다 정리했다만… 여전히 이해는 안되는 코드 구조였다. 아니, 구조 설계 자체를 아예 못하는 놈이다.

근데 이 내용에 대해서는 욕은 최대한 삼가려고 한다. 왜냐면 이 오씨는 expert beginner, 즉 초심자라고 생각하면 아주 정확하게 납득되는 실수를 했기 때문이다. 그러니 어딘가에서 이 글 보고 내 이야기인가 하고 찔리는 분이 있다면 경력자라고 나대지 마시길 제발….

객체지향 좀 배우고 과제용으로 코드 좀 짜고 하다보면 이제 코드 짜는 양이 제법 좀 많아지게 된다. 그렇게 되면서 많은 사람들이 코드 설계에 대한 이야기나 디자인 패턴, 그리고 클린 코드 관련된 내용들을 열심히 공부하는데…. 문제는 이걸 제대로 적용하는 법에 대해서 계속 생각하고 계속 연구해야 하는데 그걸 안한다. 왜 안할까? 공부를 중간에 끊어서? 설마… 그런 식으로 해서 살아남는 프로그래머가 얼마나 된다고요….ㅡㅅㅡ

저 내용들에 대해서 가르치려고 적어놓은 책들도 첨에 가르치는 내용들은 심플하다. 이렇게 해라 이렇게 해라라는 내용들이 사실 명확하게 되어 있다. 하지만 그 후에 나오는 내용들은 상당히 추상적이다. 왜냐면 프로그래밍 언어론이나 방법론 관련되어 나오는 이야기들이 상당히 추상적인 내용들이고 그걸 이해하는 추상적 사람들의 이야기를 그나마 구체화해놓은 게 우리가 보는 책들이기 때문이다. 그래서 솔직히 머릿속에 바로 안그려지고…. 그게 정상입니다.

그래서 선조들의 배움의 자세를 익혀야 합니다. 술과 함께 즐겁됴다한 상태로…(퍽!)

정의는 상당히 간단한 내용들이다. 일전에 강의자료들 만들어주는 작업 하다가 나왔던 내용들인데 그 중에서 기억 남는 것들만 좀 적어보자면 “특정 목적을 달성하는 방법은 하나만 제공한다. 의존성은 최소이며 각 의존성을 명확히 정의한다. 명확하며 최소로 줄였다. 때로는 명확하게 드러내기 어려우므로 언어에 따라 문학적 표현도 필요하다” (실용주의 프로그래머인가…? 기억나는대로만 적었다..), “깨끗한 코드는 잘 쓴 문장처럼 읽힌다. 깨끗한 코드는 결코 설계자의 의도를 숨기지 않는다. 오히려 명쾌한 추상화와 단순한 제어문으로 가득하다.” (이건 아마 객체지향 대가인 그래디 부티씨 말일껍니다.), “깨끗한 코드는 언제나 누군가 주의 깊게 짰다는 느낌을 준다. 고치려고 살펴봐도 딱히 손 댈 곳이 없다. 작성자가 아마 모든 사항을 고려했으므로 고칠 궁리를 하다보면 언제나 제자리로 돌아온다.” (이건 마이클 페더즈씨의 책이었는데… working effectively with legacy code인가 하던 책이었을 겁니다.), “중복 줄이기, 표현력 높이기, 초반부터 간단한 추상화 고려하기. 내게는 이 세 가지가 깨끗한 코드를 만드는 비결이다.” (이건 최근에 자료 참고용으로 뭐 있나 봤던 extreme programming installed에서 봤었습니다.) 등등 여러 자료들에서 많이 말 합니다…

내용 보면 참 추상적입니다. 그리고 이분들의 책들 또한 엄청나게 추상적이죠. 그리고 이걸로 학창시절에 머리 좀 싸메는데…. 다들 골때리는 상황들이 벌어집니다.

강의때 들은 내용하고 그 내용에 나온 예시대로 열심히 암기 잘 하고 이해 잘 하고 해서 난 A+도 받았었던 인간인데 왜 실무에서 개고생을 하는거지? 경험이 없어서? 삽질 안해도 우리는 충분히 요구를 이상화 할 수 있는데? 라고 생각하실 수 있겠죠….

근데 죄송하지만 현실의 어느 시스템도 이상적인 방식으로 개발되지 않고, 앞으로도 이상적인 것에 정확하게 맞아 떨어지는 시스템은 없을 겁니다.

심지어 여러분이 열심히 학창시절에 보시고 보신 교과서나 논문에 적힌 프로그램들조차도 이상화에만 매달린 코드입니다. 이상적인 내용에 대해서 계속 개선되고 그에 맞게 수정되는 과정을 처리면서 저자가 바라는 바를 보여주는 좋은 예시, 좋은 설명, 좋은 이해방법이 들어있지 현실적으로 어떤 걸 어떻게 개발해야 할지도 그리고 그에 따른 어떠한 과정도 보여주지 않습니다.

즉, 인생은 실전이다입니다!!!!

그래서 여려모로 노력해서 자신만의 노하우, 아니면 자기 팀만의, 자기 회사만의 노하우들이 공유되고 하면서 발전하는 것입니다. (그래서 오픈소스들이 대단한 것이죠.)

이게 코드 개발하면서 벌어지는 코드 구조에도 솔직히 엄청난 영향을 줍니다. 그 중에서도 코드 분량을 줄이고 재사용을 잘 하기 위해서 여러모로 쪼개놓는데….

어디서는 단 한번만 쓰이고 버려지는 코드까지도 쪼개놓습니다! 그리고 그걸 뒤지는 데 몇십단계를 거쳐야지만 겨우 찾습니다!! 근데 아무 동작도 안하는 쓸데없는 녀석입니다!!! 필요없어서 지워버리니깐 다른 곳에서도 쓰인다는 걸 확인합니다!!!!! 다른 코드들도 싹 다 건드립니다!!!!!!!! 그리고 또 다른 곳에서 터집니다!!!!!!!! (반복)

이 짓 땜에 쓸데없이 만들어놓기만 했는데 정작 기능에는 아예 쓰이지 않는 클래스, 인터페이스들만 해서 300개가 넘었습니다. ㅡㅅㅡ

이쯤되면 미친거죠.

저걸 싹 다 고쳐서 정리하느라 3일을 버렸습니다. 근데 진짜 저것들 없어도 본 기능에 아무 문제도 없습니다.

그리고 프레임워크, 라이브러리, API에서 표준으로 제공해주는 걸 최소한으로 이용해 보겠답시고 본인만의 코드들을 중간에 막 집어넣는데 이것도 또 쪼개고 쪼갰는데….

문제는 이 쪼개고 쪼갠 것들이 싹 다 꼬였습니다. ㅡㅅㅡ 이것들도 고칠만큼 고쳤는데… 나머진 진짜 시간이 진득하게 필요합니다.

그리고 이렇게 쪼개고 쪼갠 녀석들은 해당 기능에 대한 단위 테스트를 할 수 있어야 하는데… 쪼갠 녀석들이 결합도는 절차지향의 대명사인 C 코드 저리가라 할 정도로 강합니다. (…..)

여기서 없애는 사람(=버그)가 없애고 나니 또 다른 사람이 반복되는 현상이 된다고 생각해봐라…

그러니 밑에서 오류가 나서 이상을 하나 수정하면 그 위에 이상도 수정해야 되는 루프의 만남이….

미친겁니다.

전 팩토리, IoC, DI를 써보겠답시고 코드에 덕지덕지 썼으면서도 이런 분리 제대로 안되면서 파일하고 디렉터리만 몇십개 단위로 쓸데없이 쪼개서 코드 만들어내는 오씨한테 진짜 깊은 빡침과 깊은 반면교사를 배웠습니다.

설계 제대로 된 코드 정말 중요한 코드입니다…. 설계 아예 안된 코드보단 좋아요….

근데 이런것도 나나 다른사람들한테나 호감있는 미소녀가 해야지 넘어가 주는 겁니다.

회사에서 코드로 협박하고 하던 녀석이 이런 걸로 협박을 하는 거였나요……

하 진짜….

[Oh! 반면교사] 07. 코드 재사용은 그냥 뭣모르고 쓰면 재사용 못해서 싹 다 갈아엎어야 한다 이 ㅄ아…!

뭐… 이 친구의 뭣같은 이야기도 조금씩 쓰다보니 뭐 여러모로 많다만…. 이건 좀 아주 제대로 초짜짓을 해놓고 나간지라 맘 속 깊이 우러나는 맘으로 욕을 적고 시작한다.

코드 재사용… 좋은 이야기다. OOP 배우면서 누구나 다 들은 이야기이다. 맞는 이야기이기도 하고… 근데 이놈의 코드 재사용 관련된 이야기로 내 개발자 인생에서 미친듯이 욕을 하는 인간이 둘이 있는데, 지금 글쓰는 반면교사 녀석이랑 커스텀 컨트롤러 개발하면서 여러 관련된 컨트롤을 전부 상속 7번을 해서 7개의 각각의 컨트롤을 만들었는데, 중간에 이상한 논리로 만들어서 3번째 이하의 모든 컨트롤러들이 다 꼬였는데 전체적인 디자인상으로 맞는 코드인데 오류가 난다고 나한테 박박 우겨먹다가 나랑 대판 싸웠던 S군이 있다. (S군은 내가 온라인으로는 이번에 처음 이야기한다. 오프라인 사석에 있을 때 어쩌다가 연관된 이야기 나오면 이야기 많이 하는 편이다. 근데 이 친구 아이러니하게도 한국에선 지금 유명한 개발자 중 하나다.)

개발하면서 새로운 클래스나 커스텀한 클래스들을 만들어서 이용하는 경우가 많이 있다. 당연한 것이기도 하다. 근데 이게 분석상에 여러모로 문제가 있어서 제대로 된 재사용 가능한 코드를 만들어내지 못하는 경우가 많다.

이 오씨 친구의 경우에는 그냥 한 화면에 하나의 테이블 구조만 가지고 이용하면서 CRUD를 할 것이니깐, 이 테이블을 간단하게 보여주면서 CRUD의 서브 동작을 하는 하는 Detail 도큐먼트, 딱 두개만 이용하는 구조로 프로그램 뷰 모델 구조를 짜면 되겠지? 라고 해서 프로그램을 개발했다. 실제로도 고객 정보 관리하는 곳에 고객의 정보를 간략하게 보여주는 리스트 형태의 뷰와 CRUD 동작에 필요한 테이블 내용을 보여주면서 이용할 Detail 화면이 한 쌍으로 동작한다. 그리고 다른 관리, 예를 들어 직원 관리에도 이런 식으로 작업을 했고, 아이템 관리에도 이런 식으로 작업을 했다.

문제는 다른 화면들에서는 더 이상 이런 구조로 이용되는 곳이 설계상에 한곳도 없었다. 심지어 기본적으로 이용하는 고객조차도 고객과 연관된 다른 포인트 정보라던가 또 다른 정보가 있을 경우에는 여러 테이블이 당연하게 엮이게 되었다. 그런데도 불구하고 그런 걸 신경 안쓰고 그냥 테이블 개체 하나만 끌고와서 이용하는 식으로 개발을 했다. 요구사항에도 기본적으로 있던 작업인데 그걸 나중에 확인하고는 이렇게 개발했으니 수정 못한다 이러고 배짱질을 부렸다.

그리고 이런 식의 구조 프로그램이 여러 곳에 있었다.

개발 사항에 열전사 프린터(흔히 말하는 영수능 프린터) 장비가 몇 대나 지원 될 예정이었는데도 불구하고 출력할 내용에 대해서 공통화 하는 작업을 진행하고 그걸 프린터별로 하나하나 다 구현하는 멍청한 짓을 해놨는데 자기는 출력 내용에 대해서 공통적으로 했으니 이게 최선이라고 지랄한다. 어디서든 똑같은 환경으로 재사용성이 되어있는 운영체제 라이브러리를 갖다 버리고는 말이지…. 아주 그냥 전 세계 모든 열전사 프린터들을 전부 일일이 하나하나 전부 다 SDK 맞춰서 다 구현할 패기가 있었나봄. ㅡㅅㅡ

UI 모듈화도 요즘 추세이긴 하다만 한번 쓰고 다른 곳에서 똑같이 안쓰이는 모듈화는 해봤자 노가다인 작업일 수 있다. 그 모듈이 다른 곳에서 똑같이 쓰인다는 보장이 있어야지만 모듈화를 하는 것이지 그렇지 않다면 그냥 UI 이쁜 컨트롤만 알아서 만들어서 이용하는 거 외에는 그냥 시간만 버리는 짓이기 때문이다. 실제로 재사용성 하나도 없는 코드인데도 불구하고 그놈의 재사용성에 틀에 맞춰서 처음 요구사항과 다르게 나온 코드를 가지고 “그냥 다른 곳에서도 이렇게 하니깐 이렇게 해봤어요.” 라고 하면 대체 뭐하잔 건지….

이러다가 한곳 터지거나 요구사항과 다른 부분들이라서 수정하려고 건들면 다른 곳에서도 막 다 터지고 아주 개난리 부르스가 나서 오씨가 수정 못한다고 빡빡 우기는 바람에 회사 사람들이 그냥 포기해야 되나 싶었다고 했다고…… (그리고 그걸 내가 다 수정하고..ㅠㅠ)

그리고 이 병신짓 땜에 요구사항을 바꿔야 했던 미친 이야기를 듣고 말도 안되는 짓이라 내가 다시 원래대로 돌려놨다는 건 안비밀…..

아우 씨….

그러면서 본인은 피해자입니다 이러고 있겠지 미친….

뭐… 재사용성이라는 말에 꼬여서 실제로 사용 되지도 않을 재사용성을 강조한 코드 만들고, 나중에는 거기에 눌려서 수정 못한다고 만들어 버리고, 나중에 다시 개발해야 되는 그런 경우 진짜 많다. 근데 그걸 충분히 알려주지 않은 윗분들이나 요구사항 잘못이라고 하면… 책임론 물고 싸우자는 거지.

재사용성의 강조는 솔직히 해야 한다. 해서 나쁠 거 없는 이야기다만… 제대로 모르는 상태에서 막연하게 이렇게 설계하면 재사용성 OK임 이렇게 하면 진짜 미친 짓이다. 엄청 무모하다. 특히 어디로 가야 할 지도 모르는 백지상태에서의 초기 개발에서는 그냥 짜놓고 나서 나중에 리펙토링 하는 게 낫다고 말할 수 있다.

그리고 의외로 신입 개발자들이나 아직 학생 단계에서 못벗어나는 개발자들이 많이 하는 짓이기도 한데, 자기들이 수업시간에 배운 디자인들의 경우에는 이게 이론 배운 거 생각하고 그냥 들어보니 아 이거네 하고 단순하게 생각하는 경우가 많다. 실제로 하나하나 제대로 요구된 내용을 생각해 보면서 오랜 경험이 있는 개발자와 이야기를 나누다 보면서 일반적인 디자인에 가깝게 가는 것이지 그냥 몇 안되는 예시로만 대충 배워놓은 거 그대로 적용하면 되겠지 하고 하다가 이러는 경우 무지 많은데….

쉬운 거 아니다. 그렇게 막연하게 만든 코드 나중에 재사용이고 나발이고 그냥 버그 버그 코드다.

그리고 이런 똥질 지랄같이 해보고 나서 나중에 자신만의 코드들이 하나 하나 만들어지는 건데…. 어정쩡하게 자신이 만든 코드 안버리고 그러면 진짜 죽어난다.

p.s. ….오늘 글 제대로 썼는지 모르겠다.. 이놈의 오씨가 재사용성 강조하면서 나온 이야기들 중에 재사용성하고 거리가 엄청 먼데도 불구하고 재사용 재사용 강조한 녀석의 예시가 너무 많아서 진짜….

하… 이 글 아직 쓸 거 많은데 도중에 삐걱거리는 거 같다 진짜…ㅠㅠ