Articles

1513: Code Quality

Auf der angenehmen Seite habe ich jetzt eine neue Reihe von Phrasen, die mich bei Code-Reviews bei Verstand halten… 108.162.249.162 05:47, 17. April 2015 (UTC)

Ich glaube, die Emojis beziehen sich auf swift, wo man Emojis als Variablen verwenden kann. 108.162.250.168 (talk) 05:53, 17. April 2015 (please sign your comments with ~~~~)

Könnten wir einen Link für die Apple-Sprache bekommen? 108.162.249.162 06:09, 17. April 2015 (UTC)

Das kommt in unsere OneNote auf der Arbeit. It totally made my day Jdluk (talk) 08:06, 17. April 2015 (UTC)

Ein weiterer Grund, warum ich froh bin, kein Programmierer mehr zu sein (bin zurück zum Hardwaredesign gegangen … mit KEINEN Stilrichtlinien ;^) 173.245.56.182 (talk) (bitte unterschreibe deine Kommentare mit ~~~~)

Die Beschreibung liest sich so, als ob camelCase in jedem Stil enthalten ist. Es gibt Stile, die camelCase enthalten, aber nicht alle tun es. Außerdem enthalten verschiedene Stile unterschiedliche Regeln, so dass das Befolgen eines bestimmten Styleguides zu Konflikten mit anderen führen kann. Daher ist es nicht unbedingt eine gute Idee: Wenn Sie nicht in einem Team programmieren, das sich auf den zu verwendenden Stil geeinigt hat, ist es vielleicht besser, wenn Sie sich nicht zu sehr darum kümmern, dem Stil genau zu folgen. Andererseits, wenn Ponytails Gleichnisse zutreffen, wird Cueball wahrscheinlich eine Menge grundlegender Regeln entdecken, die das Programm auch für ihn leichter lesbar machen.

Zum Beispiel gibt es viele Stile allein für die Einrückung, aber die meiste Lesbarkeit kommt von der Grundidee, den Code entsprechend dem Block, zu dem er gehört, einzurücken. — Hkmaly (talk) 12:02, 17. Apr. 2015 (UTC)

Aus Neugierde habe ich versucht, 😭 als Variablennamen in Common Lisp zu verwenden. In SBCL funktioniert es, aber in CLISP schlägt es fehl. 108.162.221.112 12:19, 17. April 2015 (UTC)

Ich wünschte wirklich, ich wüsste etwas über Programmierung, damit ich etwas beitragen könnte, aber mein HTML-Kurs in der achten Klasse hat mir nicht viel geholfen. The Goyim speaks (talk) 12:50, 17. April 2015 (UTC)

Die grausame Person könnte darauf hinweisen, dass HTML nicht einmal ein „Programmieren“ ist. (Es ist Markup, zum größten Teil, es sei denn, man beschäftigt sich mit DHTML oder einigen der neuesten Bastardisierungen, die sich in HTML5 eingeschlichen haben.) Aber Sie kennen natürlich die Stelle, an der Sie sich fragen: „Moment mal, warum steht dieses Tabellenelement in der falschen Zeile/am Ende der Zeile/kurz vor dem Ende/außerhalb der Tabelle?“, und wie es die Verwendung eines Zeilenumbruchs und eines Einrückungsschemas an geeigneten Stellen (und eine logische Strategie, welche Zeilen nicht geteilt werden sollen) erleichtert, so dass Fehler wie nicht berücksichtigte COLSPANs und schlechte Tag-Paarungen leicht aufgespürt werden können. So ist es auch mit dem Code. Die Verschleierung der HTML-Formatierung (einschließlich der Verwendung unsinniger, wenn auch in sich konsistenter id- und name-Tags, an denen sich das CSS aufhängen kann) kann absichtlich (zur Verhinderung einer leichten Lesbarkeit/Rückbildung durch den Menschen) oder zufällig (weil sie von einem serverseitigen/CMS-generierenden Skript erzeugt wird, dem nicht gesagt wurde, dass es versuchen soll, nützlichen Leerraum hinzuzufügen) eingesetzt werden. Mehr noch, wenn es sich um <Skript>-Einfügungen handelt (die oft absichtlich mit Ein-Buchstaben-Variablen, minimalem Leerraum und ohne Zeilenumbruch verschleiert werden, vielleicht in einem unangebrachten Versuch, „Sicherheit durch Unklarheit“ zu erreichen, aber das ist dann natürlich Code. Wohl wahr. Eines der Ziele könnte sein, die Größe des „Codes“ zu reduzieren (selbst wenn es sich um Markup handelt), was lobenswert ist, wenn man bedenkt, wie viel überladenes Zeug man bekommen kann (ich weiß nicht, ob Microsoft Word’s „Save as HTML“/was auch immer derzeit so schlecht ist, wie es in den frühen Tagen war, aber selbst eine Webseite mit nur „Hello World“ war vollgestopft mit Formatierungsinformationen, bei denen es sich nicht einmal die Mühe machte, zu fragen, ob sie notwendig waren), aber wenn man nicht absolut nicht braucht (oder nicht will!), sollten sowohl Menschen als auch automatische Generierungsskripte versuchen, visuelle Eleganz zu vermitteln. IMO! 141.101.98.192 16:52, 17. Apr. 2015 (UTC)

Erklärt der zweite Absatz der Erklärung, der mit „Eine gängige Technik“ beginnt, irgendetwas zur Erklärung des Comics? Ich sehe es nicht, aber ich stamme noch aus der Zeit von COBOL. Miamiclay (talk) 19:54, 18. Apr. 2015 (UTC)

Ich würde eine Umformulierung vorschlagen, etwa in der Art von „A common pattern in self-taught programmers…“. Was die Notwendigkeit des Absatzes angeht, so denke ich, dass er hilft zu erklären, woher manche Programmierer mit schlechten (oder gar fehlenden) Arbeitsstandards kommen. Es ist die Art von Programmierern, die daran gewöhnt sind, Code-Beispiele zu kopieren und einzufügen und sie so lange zu bearbeiten, bis sie das tun, was sie wollen, wobei sie unwissentlich ein schreckliches Maß an Uneinheitlichkeit in den Code einbringen und alle vernünftigen Codierungsstandards und Entwurfsmuster missachten. Ich kann aus Erfahrung sagen, dass es dieses Verhalten gibt, aber dass die meisten dieser Leute entweder schnell mit dem Programmieren aufhören oder mit der Zeit lernen, sich an die richtigen Standards anzupassen. Ich bin froh, dass ich zur letzteren Gruppe gehöre. – Erim Secla 141.101.79.67 08:02, 19. April 2015 (UTC)

Woher wissen wir, dass Agile und SaaS in diesem Zusammenhang relevant sind? 173.245.50.84 17:38, 19. Apr. 2015 (UTC)

Es hat keinen Bezug, und außerdem denkt derjenige, der Software-as-a-Service hinzugefügt hat, wahrscheinlich, dass es etwas anderes bedeutet als das, was es tut Spongebog (talk) 19:30, 19. Apr. 2015 (UTC)Es könnte sogar Spam oder ein Link zur Eigenwerbung gewesen sein. Spongebog (talk) 19:32, 19. April 2015 (UTC) Emoji

IMHO ist die Diskussion über Emoji ein bisschen daneben. Emoji sind speziell die grafischen Darstellungen (😢), nicht textbasierte Smileys (T_T). Und in den Sätzen über die Sprachunterstützung werden doppelte Verneinungen verwendet, was sehr verwirrend ist, und man sollte vielleicht erwähnen, dass Javascript dies nicht zu erlauben scheint. (Bei meinen Tests jedenfalls.) Stevage (talk) 14:17, 20. April 2015 (UTC)

Ich stimme zu. Emoticons und Emoji sind zwei verschiedene Dinge.–17jiangz1 (talk) 14:56, 20. April 2015 (UTC) Können wir zwischen grafischen Emoji und zeichenbasierten Unicode-Emoji unterscheiden? Der Unterschied besteht darin, dass das eine über irgendeine Form von Auszeichnungscode in normalen Text eingefügt wird (clientseitig oder serverseitig, entweder wenn es denkt, dass es eine explizite Emoticon/etc-Zeichenkette wie „:)“ hat oder auf eine kodierte Anweisung wie „:lol:“ stößt), während das andere bereits vorhanden ist, ohne dass zusätzliche Bildbytes erforderlich sind. Außer vielleicht beim Herunterladen von Schriftdateien, versteht sich. Ich nehme an, dass das obige Zeichen (😢) das letztere ist, obwohl es für mich ein unverständliches Zeichen ist, wie bei den meisten Beispielen auf dieser Seite, und ich nehme an, dass ich eine ausgefallene neue Schriftart installieren muss, um es in einem der Browser zu sehen, mit denen ich es ausprobiert habe. Allerdings habe ich ☺ und ☻ zur Verfügung. So kann ich zumindest Emotionen in der Art von Dwarf Fortress (das ironischerweise Bilder der ursprünglichen Charaktere verwendet). 141.101.99.69 17:51, 21. Apr. 2015 (UTC)

Ew Nicht-Emoji-Code. Dies ist das 21. Jahrhundert, werde auf den neuesten Stand gebracht: https://github.com/emj-lang Natürliche Sprachen ftw! Nie mehr this_is_a_variable_that_contains_the_number_of_xkcds_ever_posted! 108.162.210.246 21:18, 5. Jun. 2015 (UTC)

Eine Randbemerkung: Ich habe einmal versucht, einen Decompiler in IntelliJ zu installieren, indem ich einen Ordner kopiert und eingefügt habe (ohne zu merken, dass es derselbe Decompiler war, mit dem IntelliJ bereits ausgeliefert wurde) und ihn auf Minecraft laufen zu lassen. Er benannte alle Variablen und Funktionen ☃. Promethean (talk) 22:28, 17. Jun. 2015 (UTC)

Hinzufügte Infos zur Codequalität 3 141.101.104.215 03:43, 7. Mai 2017 (UTC)