때로는 원하는 함수를 클래스로 적절하게 추상화하는 것이 불가능하므로 프로세스 지향적으로만 구현할 수 있습니다(함수에 통합할 방법조차 없습니다). 그러면 이때는 어떻게 해야 할까요? "먼저 코드를 예상대로 실행한 다음 나중에 리팩토링하는" 습관이 미래에 부정적인 영향을 미칠까요?
답글 내용:
아니요, 너무 일찍 배우는 것은 불가능하기 때문입니다. 먼저 코드를 작성하는 방법을 배우고 객체 지향을 배우십시오. 물론 이것이 클래스를 사용해서는 안된다는 의미는 아닙니다. 어쨌든 초보자는 클래스를 더 많이 사용하면 향후 모범 사례에 대해 더 깊이 이해하게 될 것입니다.
문제를 해결하기 위해 OO에 가는 것은 올바른 생각입니다. 문제를 해결하기 위해 OO에 가는 것은 질병이고 치료될 수 없습니다.
아니요, 우선 모든 문제가 객체 지향으로 해결되는 것은 아닙니다. 둘째, 초보자의 경우 객체 지향을 배우고 싶다면 기초를 강화하는 것이 더 중요합니다. 이전에 객체지향 방식으로 수행해본 결과 느낌을 알아봅니다.
제 "Node Flash" Zhihu 칼럼을 따라 15분 안에 Node/front-end 기술을 배우세요. 모든 소스 코드가 제공됩니다.
모든 것을 클래스로 바꿀 필요는 없습니다. 객체 지향은 단지 한 가지 방법일 뿐입니다. oo를 위해서 정말 oo를 하고 싶다면 작은 프로그램을 아주 거대하게 작성할 수 있고, 중복되는 클래스가 너무 많고 여전히 유지 관리가 어렵기 때문에 아무 소용이 없습니다.
게다가 "코드가 실행될 수 있도록 작성"하는 단계로만 갈 수 있는 경우가 많습니다. 리팩토링은 아직 멀었습니다. 많은 프로젝트에서는 리팩토링할 기회조차 얻지 못할 수도 있습니다.
검술을 배우기 위해서는 각 유파의 검술을 관찰하고, 복잡한 것에서 단순한 것으로 옮겨가며, 거기에서 가장 일반적인 원리를 추출하고, 검술에 대한 자신만의 이해를 형성해야 합니다.
그럼 단순한 것부터 복잡한 것까지 진행하며, 일반적인 법적 원칙을 정리하고 결합하여 자신만의 검술을 형성해야 합니다.
프로그래밍도 마찬가지입니다
먼저 목표를 정한 다음 그녀에게 편지를 쓸 수 있습니다.
더 많은 코드를 작성하세요. 앞으로 프레임워크(qt, wpf...)를 사용할 때 주문을 외우고 이러한 좋은 프레임워크의 캡슐화 아이디어를 배울 수 있습니다.
C를 배울 때 모든 데이터 구조와 모든 알고리즘을 혼자서 작성했습니다. 그러다가 C++, Java, C#을 배우고 나서 이러한 것들이 쉽게 사용할 수 있고 사용하기 매우 편리하다는 것을 알게 되었습니다. 그러면 자연스럽게 객체지향을 배우게 됩니다.
과정 지향적 글쓰기는 과정 지향적 글쓰기를 의미합니다.
결국 당신은 초보자이고 객체지향 방법을 모릅니다.
적어도 견딜 수 있는 수준입니다.