2010-12-31 11 views

Antwort

34

Obwohl komplex und kompliziert klingen, bedeuten sie in diesem Zusammenhang nicht dasselbe.

Der Zen sagt also: Es ist in Ordnung, sehr komplexe Anwendungen zu bauen, solange die Notwendigkeit dafür vernünftig ist.

ein Beispiel zu geben:

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

Der Code ist sehr einfach zu verstehen. Es ist nicht kompliziert. Es ist jedoch kompliziert. Sie müssen die meisten der oben genannten Schritte nicht manuell durchführen.

for i in xrange(5): 
    print i 

Dieser Code ist komplexer als das obige Beispiel. Aber: Wenn Sie die Dokumentation von'xrange' kennen, können Sie sie auf einen Blick verstehen. Viele Schritte sind hinter einer einfach zu bedienenden Oberfläche versteckt.

Mit dem Anwachsen der Prozesse wird die Kluft zwischen kompliziert und komplex immer größer.

Eine Faustregel ist es, die anderen Prinzipien des Zen of Python zu folgen:

Wenn es schwer zu erklären ist, ist es keine gute Idee ist.

Wenn es leicht zu erklären ist, könnte es eine gute Idee sein.

9

Komplex: Macht viel. Normalerweise unvermeidbar.

Kompliziert: Schwer zu verstehen.

Ich mag dieses Zitat (source):

Eine komplexe Person wie ein iPod ist. Das ist zu sagen, dass sie konsistent sind, geradlinig und "benutzerfreundlich" während auch ziemlich anspruchsvoll. Im Gegensatz zu der komplizierten Person, Interaktion mit einer komplexen Person tut keine besonderen Kenntnisse über ihre komplizierte Wege, weil ihre Möglichkeiten sind nicht kompliziert. Wenn Fehler gemacht werden, neigen sie dazu, sehr zu vergeben , weil sie verstehen, dass Menschen sind nicht perfekt. Kurz gesagt, sie sind reife, vernünftige Menschen.

und dieses (source):

Ein Airbus A380 ist kompliziert. A Qualle ist komplex. Das Netz der Pariser Metro ist kompliziert. Wie Leute verwenden ist es komplex. Dein Skelett ist kompliziert. Du bist komplex. Ein Gebäude ist kompliziert. Eine Stadt ist Komplex.

Einige weitere Artikel zu diesem Thema:

+0

@Abe äh, was? – marcog

+0

Ja, ich bin mit Abe hier. Etwas, das mir anscheinend sagt, dass ich meine Arbeit leicht verständlich machen muss, ist sehr schwer zu verstehen. Äh, denke ich. – Malvolio

+0

@Malvolio Bitte erklären Sie mir, was Sie so schwer zu verstehen finden? Ich denke, ich habe es ganz einfach gesagt. – marcog

0

Ich habe dieses Buch nicht lesen.

Komplex ist meiner Meinung nach eine Lösung, die nicht einfach zu verstehen ist, aber in einfachen und logischen Code geschrieben ist.

kompliziert ist eine Lösung, die einfach (oder komplex) sein kann, aber in Code geschrieben ist, der nicht leicht zu verstehen ist, weil es keine Muster oder Logik darin gibt und keine richtigen Metaphern und Benennungen.

+3

Es ist kein Buch, "importieren Sie das", Sie können es – flycondor

+0

@flycondor thanx sehen, jetzt macht es mehr Sinn – Christian

0

Komplizierte Systeme sind stark gekoppelt und daher zerbrechlich.

Komplexe Systeme bestehen aus einfachen Teilen, die zusammenarbeiten, um ein komplexes Verhalten zu erzeugen. Während das entstehende Verhalten immer noch eine Herausforderung sein kann, können die einzelnen Teile isoliert, untersucht und getestet werden. Einzelne Teile können entfernt und wiederverwendet werden.

I Kommentar mehr zu diesem Thema und Beispiele liefern on my blog