OOP 대 절차 프로그래밍 - 페이지 9

 
Реter Konow :
내가 이해하지 못하는 이유를 이해합니다. 이것은 내 코드가 아니며 일부일 뿐입니다. 그러나 당신도 이해하지 못하는 것 같습니다 - 아니면 내가 틀렸습니까?

포인터를 안쓰는데...

이전에는 함수로만 작업했지만 시간이 지남에 따라 어떻게든 저장한 다음 찾고 다시 확인해야 했으며 각 함수는 고유한 추가 작업을 수행했습니다.

이제 모든 것을 클래스로 다시 작성했으며 Order 클래스를 호출하면 필요한 모든 것과 사용 가능한 메서드 함수 목록을 얻을 수 있습니다.

 
Реter Konow :
이것이 내가 큰 일반 코드 블록을 만드는 것을 좋아하는 이유입니다.

OOP가 없는 좋은 GUI의 작성자조차 믿을 수 없습니다.

코드 줄 절약?!

 
СанСаныч Фоменко :

아니요, 당신의 모범은 아주 좋습니다.

절차적 프로그래밍에 관한 것이 아닙니다.

프로그램 품질에 대한 훨씬 더 중요한 기준이 있습니다. 바로 코드의 가시성입니다.

당신이 내린 결정은 끔찍합니다. 어떤 의미 있는 기능이 발생하는지 명확하지 않습니다. 나는 일반적인 스위치를 작성하고 각 호출에 대해 논평할 것입니다. 이것은 올바른 코드입니다.

귀하의 예에서 나는 OOP가 해로운 것이라고 결론지었습니다.


그리고 1개만 사용된다는 것이 미리 알려진 경우 100개 옵션으로 전환하는 이유는 무엇입니까?

3줄의 코드와 비교하여 100가지 변형 스위치에서 발보의 가시성은 무엇입니까?

합리적으로, 최적으로(심지어 이상적으로라도) 수행할 수 있는 어렵고 방대하고 느린 일을 수행하는 것은 올바른 접근 방식이 아닙니다.

OOP는 잘못 사용될 때만 해로울 수 있습니다.

댓글에 반응합니다.

 
Реter Konow :
이것이 내가 큰 일반 코드 블록을 만드는 것을 좋아하는 이유입니다.

왜 그들은 보편적이 됩니까?

 
Dmitry Fedoseev :

그리고 1개만 사용된다는 것이 미리 알려진 경우 100개 옵션으로 전환하는 이유는 무엇입니까?

3줄의 코드와 비교하여 100가지 변형 스위치에서 발보의 가시성은 무엇입니까?

합리적으로, 최적으로(심지어 이상적으로라도) 할 수 있는 일을 어렵고 방대하고 느리게 만드는 것은 올바른 접근 방식이 아닙니다. 이는 올바른 접근 방식이 아닙니다.

댓글에 반응


이것은 발판이 아닙니다. 이것은 프로그램의 텍스트와 결합된 프로그램의 기능에 대한 문서입니다. 혼자 할 수 있는 일이 아닌 가장 중요한 일

 
Vladimir Pastushak :

포인터 안쓰는데...

이전에는 함수로만 작업했지만 시간이 지남에 따라 어떻게든 저장한 다음 찾고 다시 확인해야 했으며 각 함수는 고유한 추가 작업을 수행했습니다.

이제 모든 것을 클래스로 다시 작성했으며 Order 클래스를 호출하면 필요한 모든 것과 사용 가능한 메서드 함수 목록을 얻을 수 있습니다.

글쎄, 그것이 당신에게 더 편리하다면 나는 그것에 대해 반대 할 것이 없습니다. 제 풍부한 프로그래밍 경험에 따르면 솔루션의 보편화 및 압축을 적용하면 OOP 없이도 모든 작업을 효율적으로 해결할 수 있습니다. 이것은 엄청난 연습으로 확인된 경험입니다. 아마도 이런 접근 방식은 우리 사고의 개별적인 특성과 관련이 있을 것입니다. 이것이 제가 전달하고 싶은 주요 아이디어입니다.
 
СанСаныч Фоменко :

이것은 발판이 아닙니다. 이것은 프로그램의 텍스트와 결합된 프로그램의 기능에 대한 문서입니다. 혼자 할 수 있는 일이 아닌 가장 중요한 일


그리고 깔창과 안정기. 파리는 따로, 커틀릿은 따로 분리해야 합니다. 문서화도 중요하지만 프로그램에 방해가 되어서는 안 됩니다.

 
Dmitry Fedoseev :

왜 그들은 보편적이 됩니까?

예를 들어, 컨트롤을 생성하는 서로에 대해 그래픽 개체를 배치하는 블록이 필요합니다. 동시에 동일한 블록이 개체의 모양을 제어합니다. 즉, 일부는 숨기고 나머지는 드러냅니다. 또한 스크롤 캔버스의 크기와 창의 전체 크기를 계산합니다 . 또한 스크롤 막대에서 슬라이더의 움직임을 계산합니다. 이것은 객체 관계의 보편적인 블록입니다.


또는 창 핸들을 잡을 때 창의 크기를 제어하는 블록. 또는 제어 상태를 관리하는 블록. 또는 커서가 있는 요소를 계산하고 동시에 많은 전역 매개변수에 초점을 맞추는 블록...

 
Реter Konow :
예를 들어, 컨트롤을 생성하는 서로에 대해 그래픽 개체를 배치하는 블록이 필요합니다. 동시에 동일한 블록이 개체의 모양을 제어합니다. 즉, 일부는 숨기고 나머지는 드러냅니다. 또한 스크롤 캔버스의 크기와 창의 전체 크기를 계산합니다. 또한 스크롤 막대에서 슬라이더의 움직임을 계산합니다. 이것은 객체 관계의 보편적인 블록입니다.

그러나 이것이 if 및 switch를 통해 구현됩니까?

 
Dmitry Fedoseev :

그러나 이것이 if 및 switch를 통해 구현됩니까?

예, 이 블록에는 둘 다 있습니다. 그러나 저를 믿으십시오. 광범위한 작업을 해결하기 때문에 최대한 보편적으로 압축됩니다.
사유: