Passen Sie zunächst meinen Codierungsstil an: Leerraum an. Vor langer Zeit schrieb ein Clown einen Scherzartikel über Best Practices mit Codebeispielen mit etwa 12 vollständigen Leerzeichen, wo immer er konnte. Code kann ohne einen 12 Fuß breiten Bildschirm oder in der Schriftgröße .0001 nicht gelesen werden. Viele Programmierer gingen davon aus, dass dies glaubwürdig ist, und begannen damit - obwohl es offensichtlich keine gute Praxis war. Es macht mich verrückt. Komm schon Leute, ich sage, du bist schlauer als das. 50% oder mehr Leerraum auf der 240-Spalten-Seite macht keinen Sinn. Setzen Sie die erste geschweifte Klammer in dieselbe Zeile wie die Funktions- oder Klassensignatur (mit ein oder zwei Leerzeichen, nicht ein oder zwei Tabulatoren dazwischen). Verwenden Sie 3 Leerzeichen, um Codeebenen einzurücken (5, wenn Sie ein teilweise blindes Teammitglied haben). Verwenden Sie dann hier und da eine leere Zeile im Code, um die Dinge in kleinere logische Blöcke zu setzen.
Hier ist ein weiteres Beispiel für etwas, das knochenköpfig ist. Ich werde Ihnen zuerst sagen, dass dies nicht von einem unerfahrenen Trottel kommt. Es ist in einem sehr guten Code von einem Mann, der in der Lage war, eine sehr fortgeschrittene Technik zum Laufen zu bringen, während der größte Teil der Welt sich immer noch am Kopf kratzt. Das ist es, was mich frustriert. Warum sind gute Programmierer so nervös, wenn es darum geht, ihren Code zu formatieren?
for (Iterator<Byte> iterator = collection.iterator(); iterator
.hasNext();) {
byteArray[i++] = iterator.next();
}
Schauen Sie sich nun das Format der for-Bedingung an. Wenn Sie tatsächlich darüber nachdenken, ist das nicht ein völlig unlogischer Ort, um einen Zeilenumbruch zu setzen? Zum einen hatte ich viel Platz, um das Ganze für ... {in einer Zeile zu sehen. (Glücklicherweise verwendet dieser Typ nicht mehrere Tabulatoren zum Einrücken.) Aber wenn er absolut nicht leben konnte, ohne es aufzubrechen, warum dann mitten in einer Funktionsspezifikation? Kurz davor gibt es ein perfektes Trennzeichen - das Semikolon -, das als Haltepunkt sinnvoller gewesen wäre. Meine Stimme ist es, die gesamte Bedingung und die Eröffnung (die zum for gehört) in dieselbe Zeile zu setzen. Er endet auch gut - einfach, die schließende Klammer mit dem geöffneten "für" abzugleichen. (Einige Leute - und Werkzeuge (Ist das überflüssig?) - stellen das auch gerne an seltsame Orte.)
Zweitens: Notieren Sie sich den Fokus des Fachwissens jedes Programmierers. Wenn es einen signifikanten Unterschied gibt, stellen Sie sicher, dass sich dies in dem Teil des Codes widerspiegelt, an dem jeder Programmierer arbeitet. Ein Experte für industrielle Steuerung in der Robotik, ein Ingenieur, der hauptsächlich an den komplexen mathematischen Bits arbeitet, und der Typ mit dem CS-Abschluss, der sich durch eine völlig obskure Codekonstruktion beeindruckt (je weniger verständlich, desto ausgefeilter, oder?), Sind alles Code anders schreiben. Wenn es diese signifikanten Unterschiede gibt, teilen Sie die Arbeit so auf, dass jede einzelne Stärke zum Job passt.
Wenn es keine solchen Unterschiede gibt, vereinbaren Sie den Codierungsstil und auf jeden Fall - Codeüberprüfung, Codeüberprüfung, Codeüberprüfung. Ehrlich gesagt habe ich in meinem Leben eine Menge schlampigen Spaghetti-Codes durchlaufen (12 Mal auf der ganzen Linie beim Debuggen und Ändern durch die Wartungsgruppe oder das Ergebnis der Integration mit großen Augen) und war auf dem besten Weg, ein zu werden Experte für den Code nach 2 Minuten Gespräch mit dem letzten Mann, der daran gearbeitet hat. (Randnotiz: Es gibt tatsächlich einen Punkt, an dem es besser ist, den Code neu zu schreiben, als die Anpassung fortzusetzen.)
Ich persönlich arbeite lieber auch alleine zu Hause. Ich habe noch nie einen Programmierer getroffen, der es bevorzugt oder besser in einem Kubikraum arbeitet, der von vielen anderen Programmierern, Diskussionen und Unterbrechungen umgeben ist. Aber man muss sich daran gewöhnen, in einem Team zu arbeiten, und das bedeutet, sich die Zeit zu nehmen, um zusammenzukommen und zu diskutieren (nicht zu kämpfen), was man tut. Das ist eigentlich Teil des Jobs - es ist wirklich so. Es ist viel besser, es zu akzeptieren und systematisch, effizient und effektiv durchzuführen. Und wenn wir schon dabei sind, gehört es auch dazu, Zeit damit zu verbringen, Wissen und Informationen an die Personen zu übertragen, die die Dokumentation schreiben (von denen einige möglicherweise selbst geschrieben werden müssen). Und wenn Sie genug Erfahrung haben, um Ihr Verantwortungsniveau zu erhöhen, können Sie sogar häufiger mit Managern und Mitarbeitern im Marketing usw. chatten.
Codieren allein ist ein Hobby. Professionelles Software-Engineering ist ein facettenreicher Beruf.