[Playlisten] [Impressum und Datenschutzerklärung]

14.02 Code Conventions, Styleguides, ungarische Notation, MISRA


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

nunzur praktischen Seite vomFehler vermeidenund Fehler suchen erst mal überhaupt Fehler vermeidenCode conventionsganz vorne anfangenmit dem Fehler vermeiden??oderCoding Standardsoder aus diversen Text oder Styleguidesfinden für dasunzählige Begriffeaberman einigt sich auf bestimmteStandardswie Programme zu schreiben sinddas sind alle Beteiligten in einem größerenTeamdas ?? mit einem größeren Team die Programmeschnell lesen könnenund schnell warten könnensind das Amt schon gesehen dass wir den PC programmieren dass die unzähligen Möglichkeiten haben des aber setzte sie die Klammern hin wie nennen Sie die Variable und so weiter und so fortdannder C-Compilernimmt nicht allesdabei dem doch sehr vielParkinson Style Guideoder Code Conventionschreibt man typischerweisefestinsbesondere für Teamprojektewie denndie Details aussehen soll damit ist immer noch nicht als hundertprozentig festgenageltaber es wird schon etwas besseres fängt an mit formalen Standardswarenfür die NummersechsArmenzum Beispiel solchekann sein das es so lautet in den jeweiligen Code ConventionScan sein das es anders ist zum Beispielkönnte man folgendes haben dasVariablen ausführlichauf Englisch benannt sind ausführlicheenglischeNamen für Variablen das könnte zum BeispielinCode Convention stehenNahrungsvorschriftenGesang die Leute lieber benahmen statt Benennung?? Namensvorschriftenausfüllennahm für Variablendas habe ich ja imSeminarund im Praktikum auch immer so gehalten keinekomischen Kürzel immer nicht verstehen kann sondern immer Land ausgeschriebennumber aufElementsaggressiv stellt Joker und dreizehnsolche Geschichten statt?? und einige sie auch CI schreiben und number Feldes kann sie auch NV schreiben?? wissen sie drei Tage später noch was das war bis ihre Kollegenbeginnen und Kollegen drei Tage später noch was das war ehereine von den heute üblichen Regelnan sein das es andere gibt aber das ist eine von heute üblichen ??anobendrein wird man bei sowas ?? noch festlegenzum BeispielIsis geschrieben habe ist die sogenannte Campbell blacklutherischen?? sanken ?? NotationElektrotechnikanKämmen soll es ?? sein was käme Kissinger haben sie inauch auf häufige Sync MS Chemnitz Racing ist wenn ichden ersten Buchstaben groß schreibeund dann den Buchstaben von jedem nächsten Wort Großschreibung ohneLeerzeichen?? KarenzeizumPreis von mir sowasimmer noch gern in der Werbesprache nicht ?? Produktnamen sind sie das gerne mittendrin großgeschrieben und den ersten auch groß geschrieben dass sich Campbell Case in Campbell Case sind wegen der Kamele in der Wüsteals eine Karawanevonwas Nord von von rechts nach links durchs Bild geht Campbell Case ist das erste Kamel das ist das zweite das drittewas ich ?? darauf gekommen ist ?? bisschensehr weit hergeholt aber so soll seinkann?? weg lutherischen istden ersten klein zu schreibendas macht man typischerweisefür Variablenund alle folgenden Wörter direkt anschließt mit Großbuchstabenso was kann den Code Conventionzustehenwarenund bei den Variablennamenkönnte obendrein stehen kurze Namen okayfürlokale Variablenmit mit sehr geringer ReichweiteKomma kurze Namen haben kurze Namen allenfallsfürlokale Variablenscharfes S sich in sehr kurzem mit der kleinen Kopfmit sehr geringer Sichtbarkeitfür lokale Variablenin der for-Schleifelohnt sich doch nicht SIaus zu buchstabierenwenn es dabei doch als ihnen der Vorschlag nur zwei dreiZeilen drin steht ?? des eff ssie ssie nennen Item oderMember oderPreußenkeineSample?? auch wenn sie über sowas vornicht abschreiben vor ins Samplegleich nullSamplekleiner gleich Sample plus Bus und so weiter wandte sich die Finger wund tippenmit dem modernen dicken System nicht alles automatisch ergänzt wird aber ??ist dazu viel zu lesenan der Stelle würde man dann doch vielleicht vor in esschreibenstatt Sample aus zu buchstabierenfür lokale Variablenmit sehr geringerSichtbarkeitleider doch kurzen an sowas könnte inCode Convention stehenandere Geschichte wäre die man üblicherweise findetFunktionen in BefehlsformImperativendlich auch wieder auf englischem ZweifelsfallBefehlsformalso eine FunktionenBesitz Deutsch wäre eine Funktionsgrößeoder Artgäbe es nicht das es nicht Befehlsformvom Zionisten heißen Kippgrößesetzte größte hohle Artder Zahlimmer Befehlsform und im englischen dann?? zum mit Schreibens als Beispiel sowas wie jetzt sei esder ZeissoderRobinWright kleinbei kleinenund Charakterkann sie auch schon irgendwo gesehen ich würde sogar ausschreibenanders als das sie stärker als Befehlsformdas wäre üblich für Funktionsnamenist aberKonventiondas heißt man kann noch hingehen und sagen okay alle Funktionen müssen in Großbuchstaben?? benannt werden auf Deutschund bitteimmer Substantive könnte man auch sagen hat sich einfach eingebürgert der Compilerden Compiler des egales werden vielleicht noch schlechter zu verstehender sagt der grob sagt was diese Funktion tut auch ?? zum abschreiben oder als Demo hierals eine Funktion habeninsGeldsei es Boyddavon die Deklarationso eine Funktionsdeklarationdass sie dann davor sitzenwarenjetzt seist du dieses oder jenes unsgibt dann folgendes ErgebnisminimalSonntagdannwürde man häufig haben ?? ?? conventions das vor jeder Deklaration stehen muss was die Funktion denn im einzelnen tut?? dafür gibt's auch noch schönere Verfahren ist das ganzeautomatisch formatiert werden kann?? die vorgeführten Figuren wollen Taxi JanoxidJanwar das automatisch aus diesen Kommentaren nachherDokumentationerzeugt wirdKleinkramwie scheinbar Kleinkram wie Schweifklammerin eigene Zeiledarübergibt es verschiedene Ansichteneigenen Zeilen sollten schreiben darüber verschiedene Ansichten es gibt Leute die SchreibenbedingungschweifKlammer aufBlablaschweif Klammer zuund es gibt Leute die schreiben istBedingung schwarz Klammer auf blablabla?? Klammer zulassen die beiden üblichenArten zu machen ?? sie können es natürlich auch komplett anders machen sie können auffordernzwischen drei FreizeitFreizeit freigelassen werden müssen oder dass die Schweifklammer dahinten stehen muss wie auch immer der Compiler wird es fressenaberes wird keiner mehr verstehen aberCompiler wird es fressen sowas würde man nicht ?? würde mal das Licht man garantiert fest in Code Conventionund stehen die Schweifklammerunter natürlich die Einrückung erst rechtden Compiler ist das auch egal wie sie einrückenoder ob sieüberhaupt nicht einrückenalso wenn sie hier sowas schreiben wiein ?? ist gleichsiebennachsowashilft aber ??Punktdann setz ich waraufsechs??warum nicht sowarum nicht sokönnte man ja alles tunsie ganz hart draußen setzte das Schiff auf die Zeile davor ?? beschreiben das Programm komplett in einer Zeile?? alles auf eine Zeileder Compiler wird das nehmensie ist das eher großzügig an der Span Hindernisse Beistrich die verlangen dass die Formatierung so halbwegs zumindest wases gibt ?? sprachen bei den zum Beispiel ihr diese Einrückungwichtig iststatt der Schweifklammer dann die Einrückungwichtig ist annetterweise kann man in den meisten modernen Entwicklungssystemeinfach sagen ?? mal aufdie Meeressäuger in der unddas passt dann von selbstihr das noch relativ schlicht in den größeren Entwicklungssystemkönnte dann tatsächlich selbst definiertob die öffnenden Klammernhinter das ich finde das weil gehören oder auf die nächste Zeilewarenwie viel Abstand jeweils zu lassen ?? Leerzeichen einzubauen sind und so weiter und so fort ist hierAbstand zu lassen um das gleich gleich ist hier um dieses gleich Abstand zulassen diese Entwicklungumgehung macht das nicht automatischdie großen dicken Geo machen noch sowas automatisch das heißt man muss es gar nicht mehr aufschreibenals Code Conventionsondern man liefert die Schablone mitfür die dannetwas offizieller Funktion den ich einfach nur Orte in der Dis sondern Autoformatierungist und die Maschine macht es von selbstso wie's vorgeschrieben istdas dann etwas einfacher anzuhaltenund danndas letzte hier zu den formalen SachenBoilerFleetKommentarefinden Sieinden meistenprofessionellen?? auf freiemfreien Programm das am Anfangerst mal großartigsteht am Anfang jeder Datei erst mal großartig stehtdieses ist sowieso sowieso geschrieben von diesen und jenen CopyrightHaftungsausschlussund so weiter das ?? Boytablettjeweils?? zwanzig dreißig ZeilenKommentare zu Beginn jeder Dateirein formale Sache das würde man standardisierenin Code Conventionwarenunsalso der einschließlicheinschließlichEinschlagsLok wie Lok Punktdie Aufzeichnungenwerdendie Änderungsaufzeichnungenansonsten ?? hinzuzufügenwurde die Funktion bla hinzugefügtvon X Yund so weiter das würde man auch alles nochobendrein schreibt?? witzigerweiseauch wenn man das heute eigentlich auf andere warten noch rauskriegen kann ausgut Bindestrich Systemdas als Idee wasformal in solchen Code Convention String steht Sie kriegenwenn sie irgendwas programmiert Programmierer tätig sinddicken Stapel din A vier oder bei der PDFauf den Schreibtischelektronischen Schreibtischin dem das alles stehtdas es dann zu beachten für alles was sie tunandas sind die formalen VorschriftenBeispiele für formale Vorschriftenund dann gibt's Vorschriftengegen fehlerträchtigKonstruktionenzum Beispiel dass manverlangtdass Variablen sofort initialisiertwerdendas ist ja in C und C plus plus ein Dramaaußer bei statischen Variablenauf null stehen aber alle anderen stehen eben nicht auf nullhaben sofort initialisierenwennSiedas Fensterwählen Sie hier einfach nur in A hinschreibenist nicht garantiert auf welchen Wert diese Variable A zu Beginn stehtin C und C plus plus ist das nicht garantiertin ähm Japan sie Sharp gäbe das einfach aneineFehlermeldungin sie in den C plus plus und Csollte sinnvollerweiseimmer sofort initialisierendass sie sicher sein können was denn drin steht das schreibt manin praktisch jederin jeder in die Rekord ?? klein H einpaar Jahren sofort initialisierenan das andere was praktisch überall drin steht dass man ??und Schleifennur mit Schweifklammer verwenden darfauch wenn der Compileres anders nimmtsollich ihn nie verratenaus gutem Grunde was soll ich das auch nie verraten?? wenn in dem Brief nur eine Zeilestehtdann können Sie die Schweifklammer weglassendas ist aber höllisch gefährlichwenn es nämlich immer dazu kommt das Wasser zu schreiben Saft ?? und er danach möchte ich gerne nochsinnvollerweisearg kaputt gemacht ?? Stelle ab ?? ist gleich fünfhundert vier Apostroph vier wenn jemand sagt okay jetzt schreibe ich das auch dazu das auch passieren ?? A Gleichzeichen acht istPech gehabterdieses erstwenn es wahr istdie Bedingung für die Bedingung weiß für das ist die Zeile auswenn die Bedingung falsch istbringt es ihm sofort dahin wenn sie bei mir die Schweiz kann man weglassengiltdie nächste Anweisungals das was in Schweifklammer steht das es heimtückischwenn man später was dazu schreibtdeshalbfindet sich das überall dann alsPflicht in solchen GuidelinesRF undetwaigen beiden Schleifen weilund vordie immer nur mit Wasser Klammer zu verwendendas man siehtwelcher TeilDaniels in der Schleife ist beziehungsweise bei ?? Beistrich in welchem Teil rein gezeigt wird oder nicht?? waren?? und schleifen immer mitSchweifklammerwenndann niemals Zuweisungenauf das übliche Guide klein I niemals Zuweisungeninelfdass es auchbeliebt aber heimtückischwarensie können mir sowas habe ichA gleich neben rare war folgendespraktisch weit über dieses hier ich möchte einenZeigerbauenich bin ins Ziel schafftesie ?? möchte ein Zeiger bauenund im Arbeits folgendesich hole mirKommaim Paketich hole immer neuen Speicherplatzvon mir aus dreizehn Mahlzeitaufinden KarstenOP muss durch den Schuldnersowie das fusionierenvonGedanken könnte man Komma das sind sie auch in sehr viel Software ist aberdoch bisschengefährlichalsoein Zeigerich möchte diesen Zeiger jetzt mit der Adresse von dreizehn in Thatchers füllendas sie bisher die Anweisungreservierte Speicherplatz für dreizehn Interviewsund die Adresse von dem reservierten Speicherplatz bitte nach denjetzt ganz hart drauf sind könnte das Sofakapselnistdas hier das erst wenn man es so anwendet prüft ob das was drin steht ungleich null istwenn dieserSpeicherreservierungfunktioniertgibt es ein Zeiger der ungleich null istder für den P geschrieben und das ist prüft dann ob dieser Zeiger der angekommen ist ungleich null ist das was IMP steht ungleich null istwenn das ungleich Neues ist als klar gegangen und ich kann mit Weiterarbeit nach sind sie ganz häufigdieser Konstruktionehervermeidenist essofort leider sehr unübersichtlich ist anvermeiden typischerweisesteht in diesen Guidelines keine Zuweisung das ist hinzuweisenkein vergleichendeZuweisungreservieren den Speicher und die Adresse Weise zu Antizuweisungenistverbotendie typischerweise den Guidelines drinkann man deutlich leichter dann verstehen was da passiertundviertes und letzteswas manhin und wieder liest Ganzzahlvariablennur in definierter Größe Ganzzahlvariablennurin definierterGrößehabe ich auchschon häufiger erwähnt in C und C plus plusist nicht klar wie groß ein indischer istein indischer muss mindestens so groß sein wie ein Wald Komma der nun ein oder zwei oder drei oder vier oder acht weiterwas man nicht das ganze Maschine zu Maschine schwankenauf dieser Maschine mit diesem Compiler ist der indischer zwei Byte groß auf einer Maschine nervte auch mal gerne vier Byte groß sein ?? warensehr unschön wenn man Programme auf der einen Maschine schreibt oder mit dem ein Compiler schreibt und dann einen Compiler verwendet einer Maschine verwendet wo das anders ist wird sie fünfzehn jetzt nicht mehrKomma nicht aufgepasst hatdas immer kleiner oder größer werden kann deshalbgerne auch mal dieser Anweisung in den Guidelinesins??und long und shortsind tabuweil ich deren Größe nicht kenneich verwendegefälligst nur?? Variablentypenderen Größe festgelegtist sicherlich mal am Rande erwähnt sowas hier wieerinssechzehnTaiDinge zum Beispielwenn sie den verwenden statt Kindkönnen Sie sicher sein das Ding hatsechzehn Bitzwei weitich mir ich wenigerdie moderner Sprachen funktionieren alle soin das alsoda bauen sicher zumindest funktionieren sodas da im ?? und short und Langenauaus buchstabiert sind der long hat dann immer vierundsechzigderInhalt dann immer zweiunddreißigund der Schotter dann immer sechzehnärgerlich aber in C und C plus plus hat man diesen Ärger das insdas ist was die jeweilige Maschine gerade gut kann lieber die Maschine sechzehn Bit Rechner istim sechzehn Bit und wenn jemand Maschinen zwei dreißig Bit Rechner ist ebentypischer zweiradtypischerWeise zwei ?? dreißig Bit alsjetzt mit den?? labert sich aber nicht mehr und Guidelines würden vorschreibentypischerweise vorschreiben das man da vorsichtig sein mussder Invest der VPN heute nicht billigandie Links steht im Skriptwas ich in zeigen wollen?? gewollt habenwürdewäre einmal die genug Coding Standardsalsoalles aus der EckeLinux und Konsortenwird sich zum Beispieldaran haltenundwas ich Ihnen auch nochein ?? zeigen wollte sind die?? ist die Google ssie plus plusist der Google siebter Style Guidewennsie Seite um Seite solche Vorschriftenaufgelistetist egal ?? mir schon war von den Vorschriften gezeigtlinks stehendenSkriptdass sie nicht die einzigen beiden Ballei bin ich aber diesen zum Beispielfrei verfügbar man kann sich bei dir inspirierenlassen eine Idee kriegen was es heißtschon Formalfehlerzu vermeidenund Programme lesbar zu machen für andere Leute für einen selbst lesbar zu machen und für andere Leute lesbar zu machenund dann gibt's ?? zum barspezifischereAngabenwenn siezum Beispiel sich Windowsprogrammeangucken klassische Windowsprogrammeanguckenfinden Sie solche Bezeichnerwie LPes selbstMANUALSnehmenden Text zum abschreibensolche Bezeichner finden Sie oder sie finden so ein Bezeichnerwiedie Fistyleklassischer Windows Programmierungdas nennt sich die ungarische Notationungarische Notation von Herrn sie Monidem Ungarn bei Microsofteherdafür Beistrich dass sie irgendwann jüngstauf den mireine von den Leuten zumindest die Sicht in den den Flug ins Weltall gegönnt haben Semikolon Persimoniherrnund vorher hatte erals eine von vielen Tatendiese Art voneinerNachahmung eingeführtbei Microsoft die ungarische Notation die ganzen klassischen Windows Geschichten sind alle somit solchen Namen bezeichnetder ?? DW Style heißt zum Beispieldouble WorldStyledamit gemeint Doppelwort zur weißen zwei ?? dreißig Bit ein Wortwar für Windows ist für Windows sechzehn Bit ein Doppelwort in zwei dreißig Bit hiermit sage ich die Variable Styleist zweiunddreißigBit sich dir der Typ steht im Variablennamendrin dasschien mal eine gute Idee zu seindas macht man heute nicht mehr aber es schien seinerzeit mal gute Idee in Typ Variablennamenanzugeben und dieses hier ist ganz heftig dass es einen lauenPointerauf ein Stringsie unterminiert?? Termine der Wein C String einem der null auf ?? aufhört ein langer Zeiger auf eins Zentimeter null auf ?? LP SZan alle möglichen Strings wenn sie dann mit solchen Namen LBS selbst bleibe es sie seit?? und tausend andere von diesen Sachen nicht wundern wenn sie mal Windowsprogramme aufmachendiese vor selbencodierenwas von Typ Variable das hier waskann man tunhat sich irgendwie nicht als so sinnvoll herausgestelltin den auch auch Microsoft macht es nicht mehr in in sich habich das auch nicht mehr üblichaber soweit ich das ich Windows programmierensie die Seucheetwas eigenwillig bei allen andie ungarische Notationnoch ein Beispiel für etwas spezifischeresist Missradasfinden Siezumindestzum anguckenwaren hier auch in der MB Network RanchVista ist ein Automobilindustrieverbandwie schreibe ich Softwarefür die ganze Automatik im Autofür das System das die Bremsen steuert oder für das System das die Scheinwerfer steuert schreibend im Zweifelsfall auch in C und da möchte ich natürlich schon das das nicht abstürztsondern wirklich super sicher geschrieben istamdeshalb ganz strenge Vorschriftengucke wo sie sind gerade hier sind sie ganz strenge Vorschriften von diesem Verein hier Miss warein eine Vereinigung von Automobilfirmenund etwaiger SoftwareindustrieellendutzendweiseVorschriftendie in diesem Falle sie sie automatisch geprüft werden könnenkönnen verlangen dass der Compilervon selbst prüft das alles mögliche hiereher beachtet wirdder nackte C-Compilerdem wir das alles egal aber sie können fordern dass der Compiler billiger wirddas sind die Messervorschriftenaus der Automobil und Industrie aber warum soll man sie nicht woanders verwendenundabschließendohneInternetzugriffist auch nicht so ganz spannenddas Gegenbeispielist der den Eschen à propos Kälte zieht Code konntestinternationalinternationalenOpfers gerettet warauskettetsierotkonntest was für ein NameLink im Skriptkonnte leider nicht an Surfenbei Klaus ssie ssie ssiedieser Wettbewerbgeht bei dem Wettbewerb geht's darumunlesbarZiehprogramme zu schreibenob es geht jetzt eherdunkelwird ?? sofort undunklareverwirrendeSeeprogramme zu schreiben wie kann ich ein Seeprogramm schreibenbei dem ?? nicht erkennen kann was es tut oder bei dem sogar glaubtest du was anderes als tatsächlich tutwarendie beiden Beispiele die ich verlinkt habe das eine Beispielsieht so aus als ob es Primzahlenberechnet sind wenn sie das Aufwachen den linkenArm finden Sie ein Programm das auf den ersten Blick Primzahlen berechnet wenn dieses durch jenes Teil weißt du dieses oder jenesan das Programm aber was völlig anderes ist es eigentlich inein Kryptographieprogrammund das andere Programm was ich verlinkt habeerntete die beidennetten Variablenscharliefund die variabel ScharLotteund ist ein Briefwechsel zwischen Charlie und Charlotte der sich tatsächlich übersetzen ist das Programm nicht sinnvollesaus man kann es wirklich lesen und sogar übersetzenleider macht es nicht sinnvoll und von der Sorte finden Sieendlos bei diesem Opfers gerettet sie KautkontextkonntestanProgramme in länglichen geometrischen Formen die selbst wieder diese geometrischen Form reproduzierenund also kamdas ist nun wirklichdas gegenStück zusauberem verständlichen Codedas Ziel hier istGott zu schreiben der gerade nicht verständlichesArnkann man sich mal angucken als Idee was man vermeiden mussim Alltag als solche Programme sollte man bitte nicht schreiben