솔직히 대학 4년 공부하고 지금 실무하고 있는데 그런거 없이도 요구사항 정해지면 소스 잘만 짰다.
지금도 잘만 짠다.
근데 요즘 슬슬 다시 객체지향 설계 법칙 보면서 이리저리 응용하는 연습을 하고 있다.
솔직히 몰라도 클래스 설계하는데 문제없는데 알고나면 추후 확장성, 유지보수 용이성이 기가 막히게 달라진다.
애초에 모든 프로그램들이 설계시점에서 모든 요구사항을 정확하게 정의내릴 수가 없고 코드를 짜는 동안, 또 릴리즈가 된 후에도 계속해서 "변화"에 대응해야 되는데 이 "변화"에 유연하게 대응하기 위한 기초이론이 객체지향 설계 원칙이라고 보면 된다.
그거 없이 짜면 처음이야 소스 깔끔하게 잘나오겠지, 계속 요구사항 변하고, 커버리지 추가되고, 기능 추가되다보면 스파게티되는거 한순간이다.
단순 코더와 진짜 개발자를 구분짓는 기준중에 하나가 나는 설계 능력이라고 본다.
처음에는 함수 내에서 코드 설계, 그 다음에는 클래스 설계, 그 다음에는 클래스간의 아키텍처 설계, 더 나아가면 전체 솔루션/서비스 아키텍쳐 설계로 뻗어나가는데 이 설계를 얼마나 제대로 짤 줄 아느냐가 내 개인적인 기준에서 단순 코더를 벗어나는 길이라고 본다.
덧, 위 내용은 객체지향 언어개발자에 한함.
지금도 잘만 짠다.
근데 요즘 슬슬 다시 객체지향 설계 법칙 보면서 이리저리 응용하는 연습을 하고 있다.
솔직히 몰라도 클래스 설계하는데 문제없는데 알고나면 추후 확장성, 유지보수 용이성이 기가 막히게 달라진다.
애초에 모든 프로그램들이 설계시점에서 모든 요구사항을 정확하게 정의내릴 수가 없고 코드를 짜는 동안, 또 릴리즈가 된 후에도 계속해서 "변화"에 대응해야 되는데 이 "변화"에 유연하게 대응하기 위한 기초이론이 객체지향 설계 원칙이라고 보면 된다.
그거 없이 짜면 처음이야 소스 깔끔하게 잘나오겠지, 계속 요구사항 변하고, 커버리지 추가되고, 기능 추가되다보면 스파게티되는거 한순간이다.
단순 코더와 진짜 개발자를 구분짓는 기준중에 하나가 나는 설계 능력이라고 본다.
처음에는 함수 내에서 코드 설계, 그 다음에는 클래스 설계, 그 다음에는 클래스간의 아키텍처 설계, 더 나아가면 전체 솔루션/서비스 아키텍쳐 설계로 뻗어나가는데 이 설계를 얼마나 제대로 짤 줄 아느냐가 내 개인적인 기준에서 단순 코더를 벗어나는 길이라고 본다.
덧, 위 내용은 객체지향 언어개발자에 한함.
맞는 말인데... 설계에 치중하면 보지 못하는 부분도 생긴다.
그래서 혹시 추천하시는 서적이 있나욤?
얌마들아 객체지향 완전 한물간지 오래고 요즘은 functional이 제일 돈 되
바보// 물론 이상적인 설계란 없고 구현에서는 현실과 적당히 타협점을 찾아야 하는 순간이 있다고 생각한다.
안드의노예// 괜찮다 싶은 책은 아직 못봤다.
야이미친// 함수형 언어가 트랜디하다고 하면 동의할 수 있겠는데 돈이 된다니. 스칼라는 솔직히 우리나라에서 마이너고 nodejs역시 트랜디하긴 한데 주로 신규서비스나 스타트업에서 빠르게 프로토타입 뽑고 빠르게 서비스 런칭하려는 목적에서 쓰고 있다. 그 서비스들에 동접수 늘어나거나 덩치커지면 대부분 객체지향으로 회귀하고 있다. 어디가 더 돈이 될까?
SOLID 같은 애자일을 얘기하려고 했던 것이겠지??