0

Zwei ausgezeichnete Ergebnisse von SOLID Entwicklung Ideologie sind
- Ablesbarkeit
- Extensibility
über die gesamte Lebensdauer eines Projekts (http://en.m.wikipedia.org/ wiki/Solid_ (object-oriented_design)Programmiersprachen: aus der Box Lesbarkeit und Erweiterbarkeit

Obwohl SOLID eine Reihe sprachunabhängiger Design-Ideen ist, unterstützen einige Sprachen diese Ideen grundsätzlich besser als andere, out-of-the-box oder nach verschiedenen Anpassungen, Ihrer Meinung nach Sprache ist am besten geeignet, um sowohl leicht lesbar als auch einfach zu erweitern, Funktionalität in?

vorgreifen Vorurteile und Flamewars

Einige Definitionen:

  • Ablesbarkeit: Menge getan Denk den Code proportional zu der Menge an Code zu verstehen: (amount_think-Energie/amount_code) ist ziemlich konstant und so niedrig wie möglich im optimalen Fall.
  • Erweiterbarkeit: Hinzufügen von X Menge an Funktionalität erfordert eine Änderung in Code oder Code-Ergänzungen im Verhältnis zu X (amount_added_functionality/amount_added_code) ist ziemlich konstant und so hoch wie möglich im optimalen Fall.

Hintergrundinformationen und Tutorials werden unterstützt. Code-Snippets sind willkommen.

Antwort

1

Ich konnte alles auf this page Liste aber einfach anklicken alles über die awesomeness von D.

(Wie geneigt zu lesen, wie soll ich sagen, dass dies ganz objektiv ist, ist es wahrscheinlich nicht ... aber es sollte Ihnen immer noch eine gute Sicht auf die Eigenschaften von D. geben.

1

Python. Es ist knapp, aber nicht kryptisch. Es vermeidet die übermäßige Verwendung von Symbolen (or und and anstelle von || und && usw., ohne geschweifte Klammern), es muss durchgängig eingekerbt werden (wodurch die Struktur viel offensichtlicher wird), es wird dynamisch typisiert (verhindert einige der Kopfkratzmomente) verursacht durch Casting-Variablen, Überladung, etc.). Python macht es auch einfach, benutzerdefinierte Objekte mit magischen Methoden wie eingebaute Typen zu verhalten (zum Beispiel kann ich eine Methode definieren und zwei Instanzen meines Objekts hinzufügen, genau wie ich ganze Zahlen hinzufügen würde).

Pythons objektorientierte Syntax ist sehr flexibel. Magische Methoden machen praktisch alles möglich mit Python-Klassen mit wenig Aufwand. Zum Beispiel, wenn ich ein Objekt aufrufbar machen wollte, alles, was ich möchte, ist, dies zu tun:

class SomeClass: 
    # rest of class implementation here 

    def __call__(self): 
     # define some behavior for when the object is called 

ich nichts tun müssen, flippig; Es ist eine Standardprozedur und erfordert nur minimale Änderungen am Code.

Darüber hinaus, da Python eine sehr umfangreiche Standardbibliothek hat, wird das Rad nur wenig neu erfunden, was wiederum ermöglicht, dass riesige Mengen an Funktionalität hinzugefügt werden, wobei fast kein neuer Code geschrieben wird.

Es gibt viele Gründe, warum Python lesbar und erweiterbar ist, und es gibt viele andere Sprachen, die für SOLID genauso gut sind. Ich dachte nur, ich würde mich für meine Lieblingssprache entscheiden.

Verwandte Themen