Einführung

Einführung

Sie fragen sich vielleicht, was mit dem Titel gemeint ist. Code ist Code, richtig? Es ist wichtig, fehlerfrei zu sein und das ist das, was noch? Die Entwicklung ist mehr als das Schreiben von Code und das Testen/Debuggen. Stellen Sie sich vor, Sie müssen die Arbeit eines anderen lesen, und ich nehme an, Sie haben das bereits getan, und alle Variablen heißen Foo, Bar, Baz, Var usw. Und der Code wird nicht kommentiert oder dokumentiert. Sie werden wahrscheinlich den plötzlichen Drang spüren, unbekannte Götter zu berufen, dann in die örtliche Kneipe zu gehen und Ihre Sorgen zu ertrinken. Sie sagen, dass Sie anderen nicht tun sollten, was Sie Ihnen nicht tun wollen. Sie sollen die vorherigen Teile dieser Serie gelesen und verstanden haben sowie alle Übungen lösen und vorzugsweise so viel Code wie möglich gelesen und geschrieben haben.

Empfehlungen

Beachten Sie vor dem Start bitte die tatsächliche Bedeutung des obigen Wortes. Ich möchte Ihnen in keiner Weise sagen, wie Sie Ihren Code schreiben, und ich erfasse diese Empfehlungen auch nicht. Dies sind das Ergebnis jahrelanger Arbeiten erfahrener Programmierer, und viele gelten nicht nur für C, sondern auch für andere Sprachen, interpretiert oder zusammengestellt.

Ich denke, die erste Regel, die ich anstrengen möchte, lautet: Kommentieren Sie Ihren Code und prüfen Sie, ob Sie genug kommentiert haben, und kommentieren. Dies ist für andere nicht von Vorteil, die Ihren Code lesen/verwenden, sondern auch für Sie. Seien Sie davon überzeugt, dass Sie sich nicht daran erinnern werden, was Sie nach zwei oder drei Monaten genau schreiben wollten, noch wissen Sie was int Ghrqa34; sollte bedeuten, wenn überhaupt. Gute Entwickler kommentieren (fast) jede Zeile ihres Code so gründlich wie möglich, und die Auszahlung ist mehr als Sie vielleicht erkennen, trotz der zunehmenden Zeit, die es braucht, um das Programm zu schreiben. Ein weiterer Vorteil ist, dass durch das Kommentieren, da unser Gehirn so funktioniert, was auch immer wir tun wollten, besser in Erinnerung bleiben wird. Daher werden Sie sich also wieder nicht auf Ihren Code ansehen, und sich ein paar Monate lang schnell vorwärts schauen und sich fragen, wer Ihren Code geschrieben hat. Oder warum.

Der C -Parser ist es egal, wie bestellt Ihr Code ist. Das heißt, Sie können wie dieses ein typisches „Hallo, Welt“ -Programm schreiben, und es würde immer noch kompilieren:

#include int main () printf ("Hallo, Welt!"); Rückkehr 0; 

Es scheint viel lesbarer zu sein, wie wir es das erste Mal geschrieben haben, nicht wahr, nicht? Die allgemeinen Regeln für die Formatierung sind: Eine Anweisung pro Zeile, wählen Sie Ihre Registerkartenbreite und stimmen Sie damit überein. Stellen Sie jedoch sicher Abgrenzung verschiedener Teile des Programms zusammen mit Kommentaren, und zwar, obwohl dies nicht unbedingt codierende Stilbezogen ist, bevor Sie ernsthaft mit dem Codieren beginnen, finden Sie einen Editor, den Sie mögen, und lernen Sie, es gut zu verwenden. Wir werden bald einen Artikel über Redakteure veröffentlichen, aber bis dahin wird Google Ihnen bei einigen Alternativen helfen. Wenn Sie Personen in Foren, Mailinglisten usw. hören. sagen: „Herausgeber X saugt, Herausgeber Y ftw!", ignoriere sie. Dies ist eine sehr subjektive Angelegenheit und was für mich gut ist, ist vielleicht nicht so gut für Sie.

In variabler Benennung konsistent sein. Stellen Sie außerdem sicher, dass die Namen zu den anderen passen. Dies gilt auch dann, wenn Sie der einzige Autor der Software sind. Es ist später einfacher, später zu warten. Erstellen Sie eine Liste der gebrauchten Präfixe und Suffixe (e).G. Max, min, bekommen, set, is, cnt) und gehen Sie mit ihnen, sofern nicht anders gefragt. Konsistenz ist hier das Schlüsselwort.

GNU-spezifische Richtlinien

Was folgt, ist eine Zusammenfassung der GNU -Codierungsstandards, weil wir wissen, dass Sie solche Dinge nicht gerne lesen möchten. Wenn Sie also Code schreiben, der in das GNU -Ökosystem passen möchte, ist dies das Dokument zum Lesen. Auch wenn Sie dies nicht tun, ist es immer noch eine gute Lektüre darüber, wie man den richtigen Code schreibt.

Dieses Dokument ist immer eine Gesamtheit wert, wenn Sie GNU -Software erstellen oder pflegen. Sie finden jedoch die wichtigsten Teile unten. Eine erste Ausgabe, die erwähnenswert ist, ist, wie man mit Funktionsprototypen umgeht. Bitte kehren Sie zu dem Teil zurück, der sich damit befasst, wenn Sie Probleme haben. Die Idee lautet: „Wenn Sie Ihre eigenen Funktionen haben, verwenden Sie eine Prototyp -Deklaration vor Main () und definieren Sie die Funktion bei Bedarf.Hier ist ein Beispiel:

#include int func (int, int) int main () […] int func (int x, int z) […] 

Verwenden Sie die richtige und konstante Eindrücke. Dies kann nicht genug betont werden. Erfahrene Programmierer mit jahrelanger Code hinterher dauern es sehr schlecht, wenn Sie Code mit unsachgemäßer Einführung einreichen. In unserem Fall gewöhnt sich der beste Weg, sich daran zu gewöhnen, wie GNU dies tut.”, Wie wir Befürworter des freien Willens und der Wahl sind), wobei das Standardverhalten für C -Code auf zwei Räumen und Zahnspangen in einer Zeile für sich selbst eingestellt ist. Das bringt uns zu einem anderen wichtigen Thema. Einige Leute verwenden solche Zahnspangen:

während (var == 1) Code… 

… Während andere, einschließlich GNU -Leute, wie folgt tun:

während (var == 1) Code…

Dies gilt natürlich auch für bedingte Ausdrücke, Funktionen und jeden Anlass, bei dem Sie Klammern im C -Code verwenden müssen. Soweit bemerkt, ist diese Wahl etwas sehr gnu-spezifisch, und wie viel davon Sie respektieren, hängt ausschließlich von Ihrem Geschmack und Ihrer Haltung zu diesem Thema ab.

Unser nächstes Problem ist ein technisches und ein Versprechen, das ich behalten musste: das malloc () Problem. Überprüfen Sie nicht nur, ob relevante und aussagekräftige Fehlermeldungen im Gegensatz zu denjenigen, die wir alle in anderen Betriebssystemen gesehen haben. Dies sind sehr ernsthafte Probleme, und Sie erhalten ein paar Wörter Lektion über Malloc () und wann Sie es verwenden müssen. Inzwischen wissen Sie, was automatisch oder statisch die Zuweisung von Speicher zuweisen. Aber diese Methoden decken nicht alle Basen ab. Wenn Sie Speicher zuweisen und mehr Kontrolle über die Operation haben, gibt es Malloc () und Freunde für die dynamische Zuweisung. Sein Ziel ist es, den verfügbaren Speicher aus dem zuzuweisen Haufen, Dann verwendet das Programm den Speicher über einen Zeiger, den malloc () zurückkehrt, und dann muss der Speicher kostenlos () d sein. Und „Muss“ soll mit Hauptstädten in 2 Fuß Buchstaben mit brennender roter Farbe geschrieben werden. Das war es mit malloc (), und die Gründe wurden bereits im vorherigen Teil bereits früher ausgesetzt.

Sie werden aufgefordert, eine konsistente Schnittstelle in allen Ihren Befehlszeilenprogrammen zu verwenden. Wenn Sie bereits ein erfahrener GNU/Linux -Benutzer sind, haben Sie festgestellt. Wir werden hier nicht all das eingehen; Nehmen Sie eine Kopie der GNU -Codierungsstandards, Sie werden sie trotzdem brauchen.

Obwohl ich persönlich dazu neige, dies zu übersehen, und für viele ist es ein kleines Problem, wird dies die Lesbarkeit Ihres Codes verbessern, da unser Gehirn wiederum so funktioniert, dass unser Gehirn funktioniert. Die Idee ist: Wenn Sie Zweifel an der Nutzung von Leerzeichen haben, verwenden Sie sie. Zum Beispiel:

int func (var1, var2); int func (var1, var2);

Es gibt einige, die sagen, dass Sie verschachtelte IFs nicht vermeiden können. Es gibt andere, die sagen: „Warum verschachtelte IFs vermeiden?Und es gibt noch andere, die einfach keine verschachtelten IFs verwenden. Sie erstellen Ihre eigene Meinung dazu, wenn die Zeit vergeht und Codezeilen, die Sie schreiben, erhöhen. Die Idee ist, wenn Sie sie verwenden, machen sie sie so lesbar wie menschlich, da sie leicht zu fast Spaghetti-Code, schwer zu lesen und zu warten können. Und noch einmal Kommentare verwenden.

Der GNU -Codierungsstandard besagt, dass es gut ist, dass Ihr Code so tragbar ist, wie es sein kann, "aber nicht von Paramount". Tragbare Hardware in Bezug auf? Das hängt vom Zweck des Programms und den Maschinen ab, die Sie zur Verfügung stehen. Wir beziehen uns mehr auf die Softwareseite, nämlich die Portabilität zwischen UNIX -Systemen, Open Source oder nicht. Vermeiden Sie IFDEFs, wenn Sie können, vermeiden Sie Annahmen in Bezug auf Dateistandorte (e.G. Solaris installiert Software von Drittanbietern unter /opt, während BSD und GNU /Linux nicht) und im Allgemeinen einen sauberen Code abzielen. Apropos Annahmen, gehen Sie nicht einmal davon aus.

Dokumentieren Sie Ihren Code in Form von manuellen Seiten und gut geschriebenen Readmes und so weiter, ein weiterer wichtiger Aspekt der Softwareentwicklung. Ja, es ist eine mühsame Aufgabe, aber wenn Sie keinen Dokumentationsautor in Ihrem Team haben, liegt es in Ihrer Verantwortung, dies zu tun, da jeder gute Programmierer seinen Job von A bis Z macht.

Abschluss

Das nächste Mal werden wir dort weitergehen, wo wir hier aufgehört haben: Gehen. Die einzige Übung, die ich für Sie habe, besteht darin, die GNU -Codierungsstandards zu überfliegen und Ihren Code zu ändern. Und machen Sie sich fertig, das nächste Mal macht es Spaß Zeit!

Hier ist, was Sie als nächstes erwarten können:

  • ICH. C Entwicklung unter Linux - Einführung
  • Ii. Vergleich zwischen C und anderen Programmiersprachen
  • III. Typen, Operatoren, Variablen
  • Iv. Ablaufsteuerung
  • V. Funktionen
  • Vi. Zeiger und Arrays
  • Vii. Strukturen
  • Viii. Grundlegende I/O
  • Ix. Codierungsstil und Empfehlungen
  • X. Ein Programm erstellen
  • Xi. Verpackung für Debian und Fedora
  • Xii. Ein Paket in den offiziellen Debian -Repositories erhalten

Verwandte Linux -Tutorials:

  • GDB -Debugging -Tutorial für Anfänger
  • Installieren Sie Arch Linux in VMware Workstation
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Dinge zu installieren auf Ubuntu 20.04
  • Python reguläre Ausdrücke mit Beispielen
  • So erstellen Sie eine Tkinter -Anwendung mithilfe eines objektorientierten…
  • Advanced Bash Regex mit Beispielen
  • Schleifen mit Beispielen verprügeln
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Verschachtelte Schleifen in Bash -Skripten