Soru “Karmaşık karmaşıklıktan daha iyidir” ne demektir?


Tim Peters'in "Python'un Zen'i" adlı cümlesi, "Karmaşık karmaşıklıktan daha iyidir" cümlesi beni şaşırttı. Daha detaylı açıklama veya örnek verebilir mi?


29
2017-12-31 07:11


Menşei




Cevaplar:


Her ne kadar karmaşık ve karmaşık bir ses olsa da, bu bağlamda aynı anlama gelmez.

Zen bu nedenle şöyle diyor: Gereksinim makul olduğu sürece çok karmaşık uygulamaların yapılması iyi bir şey.

Bir örnek vermek gerekirse:

counter = 0
while counter < 5:
   print counter
   counter += 1

Kodun anlaşılması çok kolay. Bu karmaşık değil. Ancak, karmaşıktır. Yukarıdaki adımların çoğunu manuel olarak gerçekleştirmeniz gerekmez.

for i in xrange(5):
   print i

Bu kod yukarıdaki örnekten daha karmaşıktır. Ama: '' Xrange '' belgelerini bilmek, onu tek bir bakışta anlayabilirsiniz. Kullanımı kolay bir arayüzün arkasında birçok adım gizlidir.

Süreçler büyüdükçe, karmaşık ve karmaşık arasındaki fark daha geniş ve daha geniş olur.

Genel bir kural, Python'un Zen'inin diğer ilkelerini takip etmektir:

Açıklamak zorsa, bu iyi bir fikir değildir.

Açıklamak kolaysa, bu iyi bir fikir olabilir.


38
2017-12-31 07:25





Karmaşık: Çok mu. Genellikle kaçınılmaz.

Karmaşık: Anlamak zor.

Bu alıntıyı beğendim (kaynak):

Karmaşık bir kişi bir iPod gibi. o   tutarlı olduklarını söylemek   doğrudan ve "kullanıcı dostu"   ayrıca oldukça karmaşık olmakla birlikte.   Karmaşık insanın aksine,   karmaşık bir insanla etkileşimde bulunur   özel bilgi gerektirmez   karmaşık yollar-çünkü onların yolları   karmaşık değildir. Hatalar olduğunda   çok affedici olma eğilimindedirler   çünkü insanlar anlıyorlar   kusurludur. Kısacası   olgun, mantıklı insanlar.

ve bu (kaynak):

Bir Airbus A380 karmaşıktır. bir   denizanası karmaşıktır. Paris Metrosu   ağ karmaşıktır. İnsanlar nasıl kullanır?   bu karmaşık. İskeletin   karmaşık. Sen karmaşıksın. bir   bina karmaşıktır. Bir şehir   kompleksi.

Bununla ilgili birkaç yazı daha var:


10
2017-12-31 07:18



@Abe Um, ne? - marcog
Evet, bu konuda Abe ile birlikteyim. Görünüşe göre çalışmamı kolay anlatabilmem gerektiğini anlatan bir şey anlamak çok zor. Sanırım. - Malvolio
@Malvolio Lütfen bana neyi anladığınızı bu kadar zor anlıyor musunuz? Sanırım oldukça basit bir şekilde koyuyorum. - marcog
Ayrıca, çok bağlı olduğum makalenin tamamını okuyun. :) - marcog
Makalelerin açıklaması belki şöyle özetlenebilir: karmaşık bir sistem tamamen anlamak için çok çaba harcar. Karmaşık bir sistemde, normalde tamamen işe yaramazsınız, çünkü tüm detayları bilmeden tahmin edilebilir. Zen'de amaçlanan fark bu mu, bilmiyorum. - Thomas K


Bu kitabı okumadım.

Karmaşık benim düşüncemde anlaşılması kolay olmayan, basit ve mantıksal kodlarla yazılan bir çözüm.

Karmaşık, basit (ya da karmaşık) bir çözümdür, ancak anlaşılması kolay olmayan bir kod içinde yazılmıştır, çünkü içinde hiçbir kalıp ya da mantık yoktur ve uygun metaforlar ve adlandırma yoktur.


0
2017-12-31 07:18



Bu bir kitap değil, "bunu içe aktar", görebiliyorsunuz - flycondor
@flycondor thanx, şimdi daha mantıklı - Christian


Karmaşık sistemler, yüksek derecede bağlanmış ve bu nedenle kırılgandır.

Karmaşık sistemler, karmaşık acil davranışlar yaratmak için birlikte çalışan basit parçalardan oluşur. Acil durum davranışları hala zorlu olsa da, bireysel parçalar izole edilebilir, araştırılabilir ve hata ayıklanabilir. Bireysel parçalar çıkarılıp tekrar kullanılabilir.

Bu konu hakkında daha fazla yorum ve örnekler vereceğim blogumda


0
2018-03-21 05:30