Dart Programmcode

Dart Programm-Code Dart Effective Dart Coding or Learning

Dart Effektiver Dat

Bevorstehende änderungen am Verlauf

Der Übersetzungsverlauf steht bald nur noch zur VerfÜgung,
wenn du angemeldet bist. Er wird dann zentral ueber Meine Aktivitäten verwaltet. Der bisherige Verlauf wird durch
dieses Upgrade gelöscht. Speichere also Uebersetzungen, auf die du später noch zugreifen möchtest.
In den letzten Jahren
haben wir eine Menge Dart-Code geschrieben
und viel darÜber gelernt, was gut funktioniert und was nicht. Wir teilen dies mit Ihnen,
damit Sie auch konsistenten, robusten und schnellen Code schreiben können.
Es gibt zwei Übergeordnete Themen: Seien Sie konsequent. Wenn es um Dinge wie Formatierung und Gehäuse geht,
sind Argumente, die beßer sind, subjektiv und unmöglich zu lösen. Was wir wißen ist, daß es objektiv
hilfreich ist, konsequent zu sein. Wenn zwei Codeteile unterschiedlich außehen, sollte dies daran liegen,
daß sie sich auf sinnvolle Weise unterscheiden. Wenn ein bißchen Code auffällt und auffällt, sollte dies aus einem
nÜtzlichen Grund geschehen. Faße dich kurz. Dart wurde so konzipiert, daß es vertraut ist,
und erbt daher viele der gleichen Anweisungen und AusdrÜcke wie C, Java, JavaScript und andere Sprachen.
Aber wir haben Dart entwickelt, weil es viel Raum gibt, das Angebot dieser Sprachen zu verbeßern.
Wir haben eine Reihe von Funktionen hinzugefÜgt, von der Zeichenfolgeninterpolation bis zur Initialisierung von Formalen,
damit Sie Ihre Absicht einfacher und einfacher ausdrÜcken können. Wenn es mehrere Möglichkeiten gibt, etwas zu sagen, sollten Sie im Allgemeinen die prägnanteste auswählen.
Dies bedeutet nicht, daß Sie Golf so programmieren sollten, daß ein ganzes Programm in einer einzigen Zeile
zusammengefaßt wird. Das Ziel ist Code, der wirtschaftlich und nicht dicht ist. Der Dart-Analysator verfÜgt Über einen Linter, mit dem Sie guten, konsistenten Code schreiben können.
Wenn eine Linter-Regel vorhanden ist, mit deren Hilfe Sie einer Richtlinie folgen können,
wird die Richtlinie mit dieser Regel verknÜpft. Hier ein Beispiel:
Linter-Regel: Prefer_Collection_Literals
Hilfe zum Aktivieren von Linter-Regeln finden Sie in der Dokumentation
zum Anpaßen der statischen Analyse. Die FÜhrer Wir haben die Richtlinien zur leichteren Verdauung in einige separate Seiten aufgeteilt:
Style Guide - Hier werden die Regeln fÜr das Layout und die Organisation von Code definiert
oder zumindest die Teile, die dartfmt fÜr Sie nicht verarbeitet. Der Styleguide gibt auch an,
wie Bezeichner formatiert werden: camelCase, using_underscores usw.
Dokumentationshandbuch - Hier erfahren Sie alles, was Sie Über Kommentare wißen mÜßen. Sowohl Dokumentkommentare als auch normale Codekommentare. Verwendungshandbuch - Hier erfahren Sie, wie Sie Sprachfunktionen optimal nutzen, um Verhalten zu implementieren. Wenn es sich um eine Außage oder einen Ausdruck handelt, wird hier darauf eingegangen. Design Guide - Dies ist der weichste Leitfaden, aber der mit dem größten Umfang. Es behandelt, was wir Über das Entwerfen konsistenter, verwendbarer APIs fÜr Bibliotheken gelernt haben. Wenn es sich um eine Typensignatur oder -deklaration handelt, wird dies ÜberprÜft. Links zu allen Richtlinien finden Sie in der Zusammenfaßung. Wie man die Anleitungen liest Jede Anleitung ist in einige Abschnitte unterteilt. Abschnitte enthalten eine Liste von Richtlinien. Jede Richtlinie beginnt mit einem dieser Wörter: DO-Richtlinien beschreiben Praktiken, die immer befolgt werden sollten. Es wird fast nie einen triftigen Grund geben, von ihnen abzuweichen. NICHT Richtlinien sind das Gegenteil: Dinge, die fast nie eine gute Idee sind. Hoffentlich haben wir nicht so viele davon wie andere Sprachen, weil wir weniger historisches Gepäck haben. PREFER-Richtlinien sind Praktiken, die Sie befolgen sollten. Es kann jedoch Umstände geben, unter denen es sinnvoll ist, etwas anderes zu tun. Stellen Sie einfach sicher, daß Sie die vollständigen Auswirkungen des Ignorierens der Richtlinie verstehen, wenn Sie dies tun. Vermeiden Sie Richtlinien, die Sie bevorzugen sollten: Dinge, die Sie nicht tun sollten, fÜr die es jedoch in seltenen Fällen gute GrÜnde geben kann. BEACHTEN Sie Richtlinien, die Sie je nach Umständen, Präzedenzfällen und Ihren eigenen Vorlieben möglicherweise befolgen möchten oder nicht. Einige Richtlinien beschreiben eine Ausnahme, bei der die Regel nicht gilt. Wenn sie aufgelistet sind, sind die Ausnahmen möglicherweise nicht erschöpfend. Möglicherweise mÜßen Sie Ihr Urteil in anderen Fällen noch anwenden. Das hört sich so an, als wÜrde die Polizei Ihre TÜr einschlagen, wenn Sie Ihre SchnÜrsenkel nicht richtig gebunden haben. Die Dinge sind nicht so schlimm. Die meisten Richtlinien hier sind vernÜnftig und wir sind alle vernÜnftige Leute. Das Ziel ist wie immer netter, lesbarer und wartbarer Code. Gloßar Um die Richtlinien kurz zu halten, verwenden wir einige Kurzbegriffe, um auf verschiedene Dart-Konstrukte zu verweisen. Ein Bibliotheksmitglied ist ein Feld, ein Getter, ein Setter oder eine Funktion der obersten Ebene. Grundsätzlich alles auf der obersten Ebene, was kein Typ ist. Ein Klaßenmitglied ist ein Konstruktor, ein Feld, ein Getter, ein Setter, eine Funktion oder ein Operator, die innerhalb einer Klaße deklariert sind. Klaßenmitglieder können instanziell oder statisch, abstrakt oder konkret sein. Ein Mitglied ist entweder ein Bibliotheksmitglied oder ein Klaßenmitglied. Eine Variable bezieht sich, wenn sie allgemein verwendet wird, auf Variablen, Parameter und lokale Variablen der obersten Ebene. Es enthält keine statischen oder Instanzfelder. Ein Typ ist eine beliebige benannte Typdeklaration: eine Klaße, ein Typedef oder eine Aufzählung. Eine Eigenschaft ist eine Variable der obersten Ebene, Getter (innerhalb einer Klaße oder auf der obersten Ebene, Instanz oder statisch), Setter (gleich) oder Feld (Instanz oder statisch). Etwa jedes "feldartig" benannte Konstrukt. Zusammenfaßung aller Regeln Feedback geben Verlauf Gespeichert Community Effective Dart Over the past several years, we’ve written a ton of Dart code and learned a lot about what works well and what doesn’t. We’re sharing this with you so you can write consistent, robust, fast code too. There are two overarching themes: Be consistent. When it comes to things like formatting, and casing, arguments about which is better are subjective and impoßible to resolve. What we do know is that being consistent is objectively helpful. If two pieces of code look different it should be because they are different in some meaningful way. When a bit of code stands out and catches your eye, it should do so for a useful reason. Be brief. Dart was designed to be familiar, so it inherits many of the same statements and expreßions as C, Java, JavaScript and other languages. But we created Dart because there is a lot of room to improve on what those languages offer. We added a bunch of features, from string interpolation to initializing formals, to help you expreß your intent more simply and easily. If there are multiple ways to say something, you should generally pick the most concise one. This is not to say you should code golf yourself into cramming a whole program into a single line. The goal is code that is economical, not dense. The Dart analyzer has a linter to help you write good, consistent code. If a linter rule exists that can help you follow a guideline, then the guideline links to that rule. Here’s an example: Linter rule: prefer_collection_literals For help on enabling linter rules, see the documentation for customizing static analysis. The guides We split the guidelines into a few separate pages for easy digestion: Style Guide – This defines the rules for laying out and organizing code, or at least the parts that dartfmt doesn’t handle for you. The style guide also specifies how identifiers are formatted: camelCase, using_underscores, etc. Documentation Guide – This tells you everything you need to know about what goes inside comments. Both doc comments and regular, run-of-the-mill code comments. Usage Guide – This teaches you how to make the best use of language features to implement behavior. If it’s in a statement or expreßion, it’s covered here. Design Guide – This is the softest guide, but the one with the widest scope. It covers what we’ve learned about designing consistent, usable APIs for libraries. If it’s in a type signature or declaration, this goes over it. For links to all the guidelines, see the summary. How to read the guides Each guide is broken into a few sections. Sections contain a list of guidelines. Each guideline starts with one of these words: DO guidelines describe practices that should always be followed. There will almost never be a valid reason to stray from them. DON’T guidelines are the converse: things that are almost never a good idea. Hopefully, we don’t have as many of these as other languages do because we have leß historical baggage. PREFER guidelines are practices that you should follow. However, there may be circumstances where it makes sense to do otherwise. Just make sure you understand the full implications of ignoring the guideline when you do. AVOID guidelines are the dual to “prefer”: stuff you shouldn’t do but where there may be good reasons to on rare occasions. CONSIDER guidelines are practices that you might or might not want to follow, depending on circumstances, precedents, and your own preference. Some guidelines describe an exception where the rule does not apply. When listed, the exceptions may not be exhaustive—you might still need to use your judgement on other cases. This sounds like the police are going to beat down your door if you don’t have your laces tied correctly. Things aren’t that bad. Most of the guidelines here are common sense and we’re all reasonable people. The goal, as always, is nice, readable and maintainable code. Gloßary To keep the guidelines brief, we use a few shorthand terms to refer to different Dart constructs. A library member is a top-level field, getter, setter, or function. Basically, anything at the top level that isn’t a type. A claß member is a constructor, field, getter, setter, function, or operator declared inside a claß. Claß members can be instance or static, abstract or concrete. A member is either a library member or a claß member. A variable, when used generally, refers to top-level variables, parameters, and local variables. It doesn’t include static or instance fields. A type is any named type declaration: a claß, typedef, or enum. A property is a top-level variable, getter (inside a claß or at the top level, instance or static), setter (same), or field (instance or static). Roughly any “field-like” named construct. Zurück zum Lexikon Kontakt aufnehmen Zurück zur Startseite
Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden