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

 
George Merts :

비교 기준 ?

나는 OOP가 완성된 코드의 유지와 수정을 쉽게 하기 위해 필요하다고 주장한다. 내가 이해하는 것처럼 당신은("당신"으로 시작하겠습니다) 당신의 코드에서 그것이 더 어렵지는 않다고(아마도 더 쉬울 수도 있습니다) 주장합니다. 우리는 어떻게 비교할 것인가?

"당신은 모든 것을 기억한다"는 사실에 대한 당신의 문구 중 하나는 이미 불일치를 도입합니다. 내 거래 프로세서가 39개의 파일과 270kb의 코드로 구성되어 있다고 가정해 보겠습니다. 개발자가 무역 서버와의 상호 작용 프로토콜을 변경하면 - 구조화 및 OOP 클래스 시스템이 없으면이 변경의 영향을 받아야 할 모든 위치를 찾고 수정하기가 매우 어려울 것입니다. 코드, 그래서 첫째, MT4에서 작동하는 블록에 영향을 미치지 않도록, 둘째, 작성된 TS가 이 변화를 "느끼지 않도록"합니다.

전체 OOP 시스템은 내가 모든 것을 기억하지 못하기 때문에 정확하게 오류를 도입하는 능력을 제한합니다. 그리고 그가 당신과 같은 모든 것을 기억한다면 - 아마도, 그리고 이러한 모든 가상 인터페이스를 보호하는 것은 의미가 없을 것입니다 ...

당신이든 당신이든 상관없어요...

우리의 모든 토론은 특정 문제로 진행되지 않습니다. 따라서 모든 것이 비어 있는 "수다"로 남아 있습니다. 이것이 귀하의 코드라면 270kb의 코드는 그다지 많지 않습니다. 당신은 그를 기억하고 알고 있습니다. 코드를 잘 모르면 당연히 수정하는데 어려움이 있을 것입니다. 다른 플랫폼으로 전환하는 것은 전혀 문제가 되지 않습니다. 정확히는 제가 OOP를 사용하지 않고 제 모든 코드를 잘 알고 있기 때문입니다. 훨씬 더 많은 코드가 있지만. MQL5에서 코드를 다시 작성하려고 할 때 직면하는 구체적인 어려움을 설명하십시오.

 
Alexey Volchanskiy :

실제로 WL은 죽어가고 있으며 1년 반 동안 새 버전이 없습니다. 그리고 위키에서 말했듯이

테스트는 1개의 코어 에서 이루어지므로 코어가 많은 최신 컴퓨터에서는 프로세스가 길어집니다.

예, 제 생각에 이 사람들은 편집증적인 의심과 해적 행위에 대한 타협 없는 투쟁에 실망했습니다.

"러시아 거주자를위한"캠페인에 따라 기억합니다. 저는 WLD를 직접 다운로드했으며 거기에 데이터를 작성해야했습니다. 글쎄, 나는 내 성을 썼습니다 ...이 편집증은 당신이 "못생긴 얼굴로 나오지 않았기 때문에"열쇠를주지 않을 것이라고 대답했습니다. 예를 들어, 러시아 성은 다르지만 국수를 우리 귀에 걸지 마십시오 ... 그들은 러시아어로 별도의 편지를 작성해야했는데, 제 친할아버지는 각각 리가에서 태어났고 성은 "out of line" 그리고 나 자신은 원래 러시아인이 여기에서 태어났습니다... 사과하고 열쇠를 보냈습니다...

그러나 3년 전만 해도 그들의 커뮤니티는 MT 커뮤니티보다 더 발전된 것 같았습니다. 사실, 이제 내가 볼 때 MT는 그 자체로 "파이 조각"을 점점 더 많이 얻고 있습니다.

 
Реter Konow :

당신이든 당신이든 상관없어요...

우리의 모든 토론은 특정 문제로 진행되지 않습니다. 따라서 모든 것이 비어 있는 "수다"로 남아 있습니다. 이것이 귀하의 코드라면 270kb의 코드는 그다지 많지 않습니다. 당신은 그를 기억하고 알고 있습니다. 코드를 잘 모르면 당연히 수정하는데 어려움이 있을 것입니다. 다른 플랫폼으로 전환하는 것은 전혀 문제가 되지 않습니다. 정확히는 제가 OOP를 사용하지 않고 제 모든 코드를 잘 알고 있기 때문입니다. 훨씬 더 많은 코드가 있지만. MQL5에서 코드를 다시 작성하려고 할 때 직면하는 구체적인 어려움을 설명하십시오.

이것은 내 코드입니다. 하지만 이상하게도 나는 그를 아주 잘 기억하지 못한다. 더 높은 주제에 - 내 코드를 게시했습니다. 얼마나 많은 댓글이 있는지 알 수 있습니다. 그리고 이것이 충분하지 않다는 것을 종종 알게 되었습니다. 때때로 이해하기 위해 분해하는 데 오랜 시간이 걸리는 장소를 우연히 발견했습니다. 작업의 복잡성. 동시에 이러한 미묘함이 이미 주석에 설명되어 있으면 좋습니다.

"발생하는 어려움"에 관해서는 - 나는 이해하지 못했습니다. "MQL4 또는 MQL5 아래의 코드"가 없습니다. 내 코드는 동일하고 두 플랫폼 모두에서 정확히 동일합니다(오래 전에 작성되고 거의 변경되지 않는 플랫폼별 클래스 내부에 유일한 차이점이 있음). 내가 쓰는 모든 것은 MT4와 MT5 모두에서 즉시 작동합니다.

 
George Merts :

이것은 내 코드입니다. 하지만 이상하게도 나는 그를 아주 잘 기억하지 못한다. 더 높은 주제에 - 내 코드를 게시했습니다. 얼마나 많은 댓글이 있는지 알 수 있습니다. 그리고 이것이 충분하지 않다는 것을 종종 알게 되었습니다. 때때로 이해하기 위해 분해하는 데 오랜 시간이 걸리는 장소를 우연히 발견했습니다. 작업의 복잡성. 동시에 이러한 미묘함이 이미 주석에 설명되어 있으면 좋습니다.

"발생하는 어려움"에 관해서는 - 나는 이해하지 못했습니다. "MQL4 또는 MQL5 아래의 코드"가 없습니다. 내 코드는 동일하고 두 플랫폼 모두에서 정확히 동일합니다(오래 전에 작성되고 거의 변경되지 않는 플랫폼별 클래스 내부에 유일한 차이점이 있음). 내가 쓰는 모든 것은 MT4와 MT5 모두에서 즉시 작동합니다.

혼란스러워요. 위에서 작업은 두 터미널에서 코드가 작동하도록 하는 것이라고 말했습니다.
 
George Merts :

예, 제 생각에 이 사람들은 편집증적인 의심과 해적 행위에 대한 타협 없는 투쟁에 실망했습니다.

"러시아 거주자를위한"캠페인에 따라 기억합니다. 저는 WLD를 직접 다운로드했으며 거기에 데이터를 작성해야했습니다. 글쎄, 나는 내 성을 썼습니다 ...이 편집증은 당신이 "못생긴 얼굴로 나오지 않았기 때문에"열쇠를주지 않을 것이라고 대답했습니다. 예를 들어, 러시아 성은 다르지만 국수를 우리 귀에 걸지 마십시오 ... 그들은 러시아어로 별도의 편지를 작성해야했는데, 내 친 증조부가 각각 리가에서 태어났고 성은 "out of line" 그리고 나 자신은 원래 러시아인이 여기에서 태어났습니다... 사과하고 열쇠를 보냈습니다...

그러나 3년 전만 해도 그들의 커뮤니티는 MT 커뮤니티보다 더 발전된 것 같았습니다. 사실, 이제 내가 볼 때 MT는 그 자체로 "파이 조각"을 점점 더 많이 얻고 있습니다.

네, 정말 멋져요
 
Реter Konow :
혼란스러워요. 위에서 작업은 두 터미널에서 코드가 작동하도록 하는 것이라고 말했습니다.
글쎄, 그것이 수행 된 방법이며 이제 코드는 동일합니다.
 
George Merts :

이것은 내 코드입니다. 그러나 이상하게도 나는 그를 매우 잘 기억하지 못한다. 더 높은 주제에 - 내 코드를 게시했습니다. 얼마나 많은 댓글이 있는지 알 수 있습니다. 그리고 이것이 충분하지 않다는 것을 종종 알게 되었습니다. 때때로 이해하기 위해 분해하는 데 오랜 시간이 걸리는 장소를 우연히 발견했습니다. 작업의 복잡성. 동시에 이러한 미묘함이 이미 주석에 설명되어 있으면 좋습니다.

"발생하는 어려움"에 관해서는 - 나는 이해하지 못했습니다. "MQL4 또는 MQL5 아래의 코드"가 없습니다. 내 코드는 동일하고 두 플랫폼 모두에서 정확히 동일합니다(오래 전에 작성되고 거의 변경되지 않는 플랫폼별 클래스 내부에 유일한 차이점이 있음). 내가 쓰는 모든 것은 MT4와 MT5 모두에서 즉시 작동합니다.


100500 동의합니다! 나 자신도 종종 내 프로그램을 읽고 때로는 혼미에 빠지는데 여기서 무엇을 하고 싶었습니까? 내 생각에는 이해하지만 시간이 부족합니다. 고객의 경우 일반적으로 거의 모든 라인에 대해 설명합니다.

그리고 각 프로그램마다 영상 형식의 코드리뷰(코드리뷰)를 부탁하는 사람도 있다. 어쩐지 그는 코멘트가 부족합니다.

 
George Merts :
글쎄, 그것이 수행 된 방법이며 이제 코드는 동일합니다.
조지 머츠 :

에에에에에에에에에에에에에에로에에에에로에로의 에센스도 이해가 되지 않았다.

작업은 터미널에서 차량을 분리하는 것이 었습니다. 변경 사항이 없는 코드는 두 플랫폼 모두에서 컴파일되었습니다. 가장 중요한 작업은 트레이드 서버와 작업하기 위한 클래스만 작성하여 작성된 모든 TS를 WealhtLab 개발자에게 전송할 수 있도록 하는 것입니다.

//------------------------------------------------ --


여러 기준에 따라 솔루션을 비교하고 각각의 효과에 대한 결론을 내리기 위해 현재 작업에 대해 질문했습니다. 당신은 실용적인 부분에서 대화를 멀리하고 있습니다. OOP 사용의 효율성을 논하려면 실제로 그것을 증명할 수 있어야 합니다. 저는 제 주장을 증명할 준비가 되어 있습니다.

그렇다면 현재 과제는 무엇입니까? 나는 당신이 그녀를 기억하기를 바랍니다

 
Alexey Volchanskiy :

100500 동의합니다! 나 자신도 종종 내 프로그램을 읽고 때때로 혼미에 빠지는데 여기서 무엇을 하고 싶었습니까? 내 생각에는 이해하지만 시간이 부족합니다. 고객의 경우 일반적으로 거의 모든 라인에 대해 설명합니다.

그리고 각 프로그램마다 영상 형식의 코드리뷰(코드리뷰)를 부탁하는 사람도 있다. 어쩐지 그는 코멘트가 부족합니다.

이미 클리닉입니다.

일반적으로 사람들이 코드를 기억하지 못하는 경우 OOP가 얼마나 효과적입니까?))

 
Реter Konow :

이미 클리닉입니다.

일반적으로 사람들이 코드를 기억하지 못하는 경우 OOP가 얼마나 효과적입니까?))


나는 당신이 프로그래머가 아니라고 생각합니까? 그런 다음 2017.07.05 14:55 GMT 00에 어디에 있었는지 기억하십시오. 누구와 무엇에 대해 이야기했는지))