기고글 토론 "사용자 정의 그래픽 컨트롤. 파트 3. 양식" - 페이지 2

 
Urain:

나는 모든 것을 올바르게했습니다.

ME의 가능성을 감안할 때 전체 키치 시대의 일본식 미니멀리즘은 매우 편리하며 모든 것이 있으며 불필요한 것은 없습니다.

객체를 반복하려는 사람들은 원하는 것을 쓸 수있는 포스트 픽스 셸을 구현할 수 있습니다.


Nikolay, MQL5에서 이것이 깔끔하고 가능성에 따라 깔끔해 보인다고 생각하십니까?


         void OnHideEvent(){
            // 7. 모든 폼 컨트롤에 대해 Hide() 메서드 호출하기
            m_hm.Hide(); 
            m_vm1.Hide(); 
            m_vm2.Hide(); 
            m_vm3.Hide();             
            m_fr1.Hide();
            m_fr2.Hide();               
            m_ib.Hide();
            m_sib.Hide();
            m_dib.Hide();
            m_cb.Hide();  
            m_chb.Hide();  
            m_rg1.Hide();  
            m_rg2.Hide();  
            m_lms1.Hide();
            m_lms2.Hide();
            m_but.Hide();
         }

        void OnWindowChangeEvent(int aSubWindow){
            // 8. Вызов метода SetSubWindow() для всех элементов управления формы. Номер подокна находится в аргументе aSubWindow.
            m_hm.SetSubWindow(aSubWindow);
            m_vm1.SetSubWindow(aSubWindow);
            m_vm2.SetSubWindow(aSubWindow);
            m_vm3.SetSubWindow(aSubWindow); 
            m_fr1.SetSubWindow(aSubWindow);
            m_fr2.SetSubWindow(aSubWindow);            
            m_ib.SetSubWindow(aSubWindow);
            m_sib.SetSubWindow(aSubWindow);
            m_dib.SetSubWindow(aSubWindow);
            m_cb.SetSubWindow(aSubWindow);
            m_chb.SetSubWindow(aSubWindow);
            m_rg1.SetSubWindow(aSubWindow);
            m_rg2.SetSubWindow(aSubWindow);
            m_lms1.SetSubWindow(aSubWindow);
            m_lms2.SetSubWindow(aSubWindow);
            m_but.SetSubWindow(aSubWindow);
            
         }

 
sergeev:

니콜라이, 이게 깔끔하고 MQL5의 가능성에 부합한다고 생각하세요?

아니요, 일본인들은 반대합니다. 정확히 세 줄이어야 합니다.
 
sergeev:

니콜라이, MQL5에서는 이것이 깔끔하고 가능성에 부합한다고 생각하나요?

입력할 시간이 충분하지 않다면 템플릿을 사용하세요.

모든 가능성을 실현하는 것을 너무 좋아해서는 안됩니다. 우리는 문자로 그림을 만드는 것이 아니라 코드를 작성하고 있습니다.

아무 문제가 없습니다.

 
그냥 의견일 뿐입니다. 저는 코드 페인팅을 더 좋아해요. Aesthete. :)
 
sergeev:

그냥 의견일 뿐입니다. 저는 코드 페인팅을 더 좋아해요. Aesthete. :)

사실 Integer는 여러분이 원했던 것보다 추상화 수준이 조금 낮은 API를 제공합니다.

직접 다듬어서 코드베이스에 넣으면 더 대중적인 API가 될 수도 있습니다.

 
papaklass:

물러서지 말았어야 했어요.

직업윤리도 있으니까요. 인테르는 프로니까 가르칠 필요가 없죠.

하지만 의사가 영안실이라고 하면 영안실은 영안실입니다.

 
Urain:

사실 Integer는 원하는 것보다 추상화 수준이 조금 낮은 API를 제공합니다.

원하는 대로 개선하여 코드베이스에 넣으면 API가 더 많이 사용될 수 있습니다.

모든 클래스에 동일한 메서드 집합이 있고 그 중 절반이 유효하지 않은 라이브러리는 인기를 끌지 못할 것입니다.

 
papaklass:

물러서지 말았어야죠. 당신 말이 맞습니다. 멋지고 전문적인 프로그래머로 자신을 포지셔닝하는 사람은 정확하고 아름다운 코드를 작성해야 할 의무가 있습니다. 초보자는 배울 것이 있습니다.

근본적이고 위치적인 오해에 빠진 sergeev 씨는 부울, 인트, 더블, 문자열 등과 같은 변수를 하나의 배열에 결합하는 것과 같은 것을 제안합니다.

하지만 진정한 트롤인 파파클라스 씨는 소리는 들리지만 그것이 어디 있는지 모릅니다.

Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool
Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Тип bool - Документация по MQL5
 
Integer:

Mr sergeev, ... 는 부울, 인트, 더블, 문자열 등과 같은 하나의 배열 변수를 결합하는 것과 같은 것을 제안합니다.

...

이것은 원칙적으로 가능하지만

이러한 범용화는 최종 구현에서 리소스의 과소비를 초래합니다. 그래픽은 그 자체로 리소스를 많이 사용합니다.

그리고이 가격으로 더 추상화 된 클래스 만 구입하면 사용시 더 이해하기 쉽다는 것은 사실이 아닙니다.

그러나 구현이 복잡할수록 버그가 더 많다는 것은 사실입니다.

 
Urain:

그리고이 가격으로 더 추상화 된 클래스 만 구입하면 사용시 더 이해하기 쉽다는 것은 사실이 아닙니다.

임호, 당신이 틀렸어요. 드미트리도 틀렸고 알렉스도 틀렸어요 :) . (모두가 틀렸어요! )))) )

다시 말하지만, 임호, 드미트리는 작성/사용 노동력 측면에서 가장 좋은 옵션을 선택했습니다.

사용하기(이해하기!) 더 간단한 것을 작성하는 것은 훨씬 더 어려울 것입니다.