Programlamanın gün batımı? - sayfa 17

 
Alexandr Andreev :

Elbette, şemayı bilerek kodu ayrıştırmak, şemayı bilmemekten daha kolaydır.

Teknik olarak, bir tür kod görselleştiriciye sahip olmak bile uygun olacaktır ... özellikle biri diğerini iptal etmez, ancak onu tamamlarsa.

Kabul ediyorum.
 
Eh, atın kollektif çiftlikte daha çok çalışmasına rağmen, ancak iyi bir damat olmadan hiçbir faydası olmadığı sonucuna vardılar.
 
Gerçek şu ki, bunların kullanılabilirliğini çok çok iyi bir şekilde çözmek gerekiyor. Ve en çok neyin gerekli olduğunu anlayın. Onlar. tüm ara bağlantıların tüm ayak örtüsünü göstermenin kesinlikle bir anlamı yoktur, çünkü birçok ek, yeniden başlatma içeren bir nesnenin her biri (bu derinlemesine) 20 miras olabilir. Ancak, bu nesnenin daha yüksek yapılarda nerede belirtildiğine veya nesnenin ayrıştırılan kodda harici ayrıntılı başlatmasını yazmışsak nerede başlatıldığına bakmak gibi bir şey. Veya belirli işlevlerin yeniden yüklenmesiyle hızlı bir şekilde yeni bir ara nesne oluşturun ve daha yüksek olanlarda neyin yanlış gittiğini anlayın. Genellikle bu görev arama tarafından gerçekleştirilse de, ya derleyici
 
Alexandr Andreev :

Elbette, şemayı bilerek kodu ayrıştırmak, şemayı bilmemekten daha kolaydır.

Teknik olarak, bir tür kod görselleştiriciye sahip olmak bile uygun olacaktır ... özellikle biri diğerini iptal etmez, ancak onu tamamlarsa.

Neden kendi kendine yeterli olacak tam teşekküllü bir kod görselleştiricisi yapmıyorsunuz?

Bir grafik kod temsil dili bulun, içinde iyi gezinmeyi düşünün, görüntülenen bilgilerin öneminin önceliğine karar verin (daha önemli bilgiler, görüntülemek için daha az çaba gerektirir, daha az önemli - tam tersi). Yine de kodun tam bir analizine ihtiyacınız var.

Kesinlikle kolay olmayacak. Tamam, meyve vermenin pek mümkün olmadığını biliyorum...

 
Aliaksandr Hryshyn :

Neden kendi kendine yeterli olacak tam teşekküllü bir kod görselleştiricisi yapmıyorsunuz?

Bir grafik kod temsil dili bulun, içinde iyi gezinmeyi düşünün, görüntülenen bilgilerin öneminin önceliğine karar verin (daha önemli bilgiler, görüntülemek için daha az çaba gerektirir, daha az önemli - tam tersi). Yine de kodun tam bir analizine ihtiyacınız var.

Kesinlikle kolay olmayacak. Tamam, meyve vermenin pek mümkün olmadığını biliyorum...

Örneğin, petrol rafinerilerinin 3D tasarımı gibi programlar var. Bir boru bağlantı şemasına sahiptirler. İlk başta, deneyimli proses mühendisleri için bir yığın çizimi okumak tek bir "görsel" diyagramdan daha kolaydır, sonra buna alışırlar. Demek istediğim, karmaşık kodun görselleştirildiğinde bile algılanması zor olmaya devam edecek. Tüm kuralları takip ederseniz, kodu orijinal haliyle okumak oldukça kolaydır.
 
Aliaksandr Hryshyn :

Neden kendi kendine yeterli olacak tam teşekküllü bir kod görselleştiricisi yapmıyorsunuz?

Bir grafik kod temsil dili bulun, içinde iyi gezinmeyi düşünün, görüntülenen bilgilerin öneminin önceliğine karar verin (daha önemli bilgiler, görüntülemek için daha az çaba gerektirir, daha az önemli - tam tersi). Yine de kodun tam bir analizine ihtiyacınız var.

Kesinlikle kolay olmayacak. Tamam, meyve vermenin pek mümkün olmadığını biliyorum...

Kendi kodunuz ve görsel tasarımınızla kendi ayarlarınızı oluşturma yeteneğinin yanı sıra başkalarının görsel tasarımı için hazır şablonlar kullanma yeteneği ile buna birkaç satır yazamayacak kadar tembel denir)))

Programlamada, kullanım açısından ilk yerim büyük olasılıkla yeniden yükleme işlevleridir. Ama kodda zaten her şey çok kısa, yeni bir isim yazıyoruz, nereden miras aldığımızı yazıyoruz (ve kural olarak bu bir şablon), neyi ve neyi değiştireceğimizi yazıyoruz. Herşey!

Bence bu numaralar hızla büyüyecek ve büyük bir kütüphaneye dönüşecek ve tüm bunları hatırlamak zor olacak.

 
Реter Konow :
Evet, ama yönü doğru. Kodlama, beynin potansiyelini kullanmak için dar bir kanaldır. Kodun tarif ettiği desen, gözle algılanan aynı desenden yüzlerce kez daha uzun anlaşılır. Her turda yavaşlayan ve eğim açısını biraz artıran bir topaç hayal edin. Bu işlemi kodlardaki formüllerle anlatın ve kameraya çekin. Bir programcının bunların aynı şey olduğunu anlaması için geçen süreyi ölçün.

Herkesin kendi yaklaşımları vardır. Şahsen, diyagramlar beni biraz rahatsız ediyor) Donald Knuth'un edebi programlama yaklaşımını ( bir nedenden dolayı Rusça'da "yetkili" olarak çevrilmiştir) ve örneğin R dilinde (R) nasıl uygulandığını daha çok seviyorum. indirim)

Üst hakkında boşuna yazdınız) Bu çözülmemiş bir mekanik sorunudur - hareket için genel bir formül yoktur (sürtünme ihmal edilse bile).

Literate programming - Wikipedia
Literate programming - Wikipedia
  • en.wikipedia.org
The literate programming paradigm, as conceived by Knuth, represents a move away from writing computer programs in the manner and order imposed by the computer, and instead enables programmers to develop programs in the order demanded by the logic and flow of their thoughts.[2] Literate programs are written as an uninterrupted exposition of...
 
Aleksey Nikolayev :

Üst hakkında boşuna yazdınız) Bu çözülmemiş bir mekanik sorunudur - hareket için genel bir formül yoktur (sürtünme ihmal edilse bile).

Ve Kelt taşı da zirvede)

 
Aleksey Nikolayev :

...

Üst hakkında boşuna yazdınız) Bu çözülmemiş bir mekanik sorunudur - hareket için genel bir formül yoktur (sürtünme ihmal edilse bile).

Nedense bunu düşünmedim. )

 
Aleksey Mavrin :
Örneğin, petrol rafinerilerinin 3D tasarımı gibi programlar var. Bir boru bağlantı şemasına sahiptirler. İlk başta, deneyimli proses mühendisleri için bir yığın çizimi okumak tek bir "görsel" diyagramdan daha kolaydır, sonra buna alışırlar. Demek istediğim, karmaşık kodun görselleştirildiğinde bile algılanması zor olmaya devam edecek. Tüm kuralları takip ederseniz, kodu orijinal haliyle okumak oldukça kolaydır.

Aşağıdaki iki kod görüntüleme seçeneğinin neden farklı algılandığını merak ediyor olabilirsiniz:

 //+------------------------------------------------------------------+
//| Initialization of the indicators                                 |
//+------------------------------------------------------------------+
bool CSampleExpert::InitIndicators( void )
  {
//--- create MACD indicator
   if (m_handle_macd== INVALID_HANDLE )
       if ((m_handle_macd= iMACD ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE ))== INVALID_HANDLE )
        {
         printf ( "Error creating MACD indicator" );
         return ( false );
        }
//--- create EMA indicator and add it to collection
   if (m_handle_ema== INVALID_HANDLE )
       if ((m_handle_ema= iMA ( NULL , 0 ,InpMATrendPeriod, 0 , MODE_EMA , PRICE_CLOSE ))== INVALID_HANDLE )
        {
         printf ( "Error creating EMA indicator" );
         return ( false );
        }
//--- succeed
   return ( true );
  }

Sonra "tinsel" grafiğini kaldırdılar. Eksi renk, eksi dolgu (göreceli konum).

// Göstergelerin başlatılması

bool CSampleExpert::InitIndicators(void)

{

//MACD göstergesi oluştur

if(m_handle_macd==INVALID_HANDLE)

if((m_handle_macd=iMACD(NULL,0,12,26,9,PRICE_CLOSE))==GEÇERSİZ_HANDLE)

{

printf ("MACD göstergesi oluşturulurken hata oluştu");

dönüş(yanlış);

}

//EMA göstergesi oluştur ve koleksiyona ekle

if(m_handle_ema==INVALID_HANDLE)

if((m_handle_ema=iMA(NULL,0,InpMATrendPeriod,0,MODE_EMA,PRICE_CLOSE))==INVALID_HANDLE)

{

printf("EMA göstergesi oluşturulurken hata oluştu");

dönüş(yanlış);

}

//başarmak

dönüş(doğru);

}

Okunabilirlik gözle görülür şekilde daha kötü. Bu, grafik gösterimin okunabilirliği önemli ölçüde artırabileceğini göstermektedir. Özellikle diyagramlardan bahsetmiyorum, birçok seçenek olabilir.