Hallo Habrahabr! In diesem Artikel werde ich meine Meinung zur Entwicklung von Software teilen. Ich war vor nicht allzu langer Zeit in der Informationstechnologie, aber ich habe eine starke Einstellung zur Entwicklung entwickelt, von den Namen der Commits bis zur Klärung der Anforderungen für die Aufgabe.
Entwicklung
Homogene Veränderungen
Stellen Sie sich vor, Sie haben eine Aufgabe, bei der Sie zuerst eine optimierte Lösung entwickeln und diese dann anstelle der alten in einem Dutzend Dateien im Projekt verwenden müssen. Holen Sie sich zuerst die Einschätzung, dass Ihr Ansatz zur Lösung des Problems korrekt ist, und überarbeiten Sie dann. Entscheiden Sie sich, alles auf einmal zu tun - Sie können kritische Kommentare und Korrekturen zur Lösung bei der Codeüberprüfung erhalten. Dann müssen Sie alle Dateien neu schreiben, in denen Sie den neuen Code angewendet haben.
Aufgabenimplementierung
Lösen Sie das Problem nicht mit einem Säbel, treffen Sie keine wichtigen Entscheidungen in Eile, auch wenn es so aussieht, als ob Ihr Ansatz korrekt ist. Befolgen Sie diese Richtlinien:
- FĂĽhren Sie eine Analyse der vorhandenen Implementierungen im Projekt oder im Netzwerk durch und aktualisieren Sie die Prinzipien und Entwurfsmuster in Ihrem Speicher.
- Verbringen Sie nicht mehr als 20 Minuten damit, typische oder zu komplexe Probleme zu lösen. Dies ist nicht effektiv. Wenn Sie nicht schnell den richtigen Ansatz gefunden haben, ist die Lösung höchstwahrscheinlich nicht offensichtlich.
- Bitten Sie Kollegen, einschlieĂźlich leitender Entwickler, um Hilfe.
- Lösen Sie das Problem als Teil der Unteraufgaben Schritt für Schritt, springen Sie nicht darüber - "Ich werde das Schwierige später tun." Es kann sich durchaus herausstellen, dass es keine richtigen Lösungen gibt und bestehende nicht geeignet sind und die Aufgabe überprüft werden muss.
- Lösen Sie das Problem beginnend mit den grundlegenden Dingen und stellen Sie sicher, dass die konzeptionellen Bereiche funktionieren. Es kann sich herausstellen, dass Ihre Funktionalität individuell realisierbar ist und für die Verbindung „Krücken“ oder ein anderer integrierter Ansatz erforderlich sind, was zusätzliche Zeit in Anspruch nimmt.
Anfragen ziehen
Titel
Der Titel sollte die Änderungsthese beschreiben - prägnant und prägnant sein. Befolgen Sie die Regeln für das Header-Design:
- Beginnen Sie mit einem GroĂźbuchstaben
- ohne einen Punkt am Ende
- eine zwingende Stimmung haben.
Ticket-295: Add base cat interface and British cat realization
Beschreibung
Dieser Abschnitt der Pull-Anforderung sollte korrekt in einer Sprache geschrieben sein, die für einen nicht-technischen Spezialisten verständlich ist, geteilt durch die semantische Last, und die Änderungen wie folgt offenlegen:
- das Ergebnis in mehreren Sätzen,
- was ging den Änderungen voraus
- warum und warum sie getan werden mussten,
- Was genau hast du getan?
- Wie haben Sie das umgesetzt?
The base cats interface was created to provide the common cats functionality and attributes. Also the realization of the British cats was created as the individual one. Our business-analytics have provided for product owner that they want to interact with cats on out platform too, not only with docs. So developers got the tasks to design and implement basic implementation of the cats interface to describe the common patterns of the interaction with it by user. Also the goal was to create one demo cat called British cats (British Shorthair) with its great noses.
Hilfe
Lassen Sie abschließend Links zu Themen, die in der Pull-Anfrage behandelt werden. Wenn ein anderer Entwickler die Änderungen besser verstehen muss, kann er dort nachsehen. Auch ein paar Regeln:
- Beschreiben Sie kurz, wohin die Hilfe fĂĽhrt
- wenn möglich - vollständige Links werfen,
- wenn nicht, kĂĽrzen Sie mit git.io und bit.ly ,
- mache eine Liste.
References: • British cats — https://en.wikipedia.org/wiki/British_Shorthair • Cats anatomy — https://en.wikipedia.org/wiki/Cat_anatomy
Commits
Commit zusammenfĂĽhren
Wenn Sie an neuen Änderungen arbeiten, tun Sie dies in einem separaten Arbeitszweig. Commits in einem Arbeitszweig dokumentieren einzeilige Änderungen selbst.
$ git log --oneline 4336d35 Create cats interface 7bc2ba9 Implement Persian cat realization 5f330fd Add Persian cat documentation ...
Wenn es an der Zeit ist, diese Änderungen am Standardzweig vorzunehmen, erfolgt dies in einem großen Commit mit einer Überschrift und einer umfassenden Beschreibung dessen, was getan wurde und warum. Das Zusammenführen von Änderungen
empfiehlt sich, die Weboberfläche von Quellcode-Speichersystemen wie
Github und
Gitlab zu verwenden .
$ git log --oneline d2ccf1a Ticket-299: Prevent cats graph be stopped unexpectedly (
Infolgedessen wird der Standardzweig mit Commits mit einer detaillierten Beschreibung der Änderungen gefüllt.
Ticket-299: Prevent cats graph be stopped unexpectedly There was a situation when cats graph is stopped unexpectedly without any verbose information and traceback. The socket connection between two web-servers (back-end and front-end) was successfully debugged and founded the socket library async latent behavior. Implemented: — Create handler for async socket connection as sync. The consumer doesnt specify a condition for ending the while loop and stream, so the application checker in Daphne cleans up the task if the protocol disconnects and the app doesnt handle it. So `channel_layer` is wrapped to `async_to_sync`. — Fix low latency between pushing the cats graph data and its output on the user interface. There was a high coupling between interface class that proxy via a few client to the realization. The separated cats graph message class was created. References: • Socket channel layers — https://channels.docs.io/channel_layers.html • Daphne handle_reply() — https://git.io/fgVzK Issue:
Befolgen Sie diese Richtlinien, wenn Sie Merge-Commits durchfĂĽhren:
- alle Änderungen in einem Commit;
- Titel und Textblöcke mit unterschiedlicher semantischer Belastung werden durch eine leere Zeile getrennt.
- Beschreiben Sie die Änderungen: Warum wurden sie benötigt, welches Problem lösen sie?
- Beschreiben Sie jede Änderung im Detail als Liste: Gehen Sie auf die Details und Konsequenzen ein.
- Machen Sie Ihre Entscheidung offensichtlich.
- Hinterlassen Sie Links zu Hilfe, Dokumentation, Foren und zur Diskussion von Problemen.
- Verweisen Sie auf Themen oder ziehen Sie Anfragen, wenn sich Ihre Änderungen darauf beziehen.
- Begrenzen Sie die Zeilenlänge in der Nachricht auf 72 Zeichen.
Soft Skills
Schriftliche Mitteilung
Jeden Tag führen Entwickler schriftliche Mitteilungen zu technischen Themen, zu Projekten und Lösungsansätzen durch, tun dies jedoch nicht immer gut. Die Person, mit der Sie kommunizieren, liest Ihre Gedanken nicht, denkt nicht so wie Sie und erinnert sich nicht an die Details des Themas des Vorschlags, den Sie durchführen. Wie kann dieser Prozess verbessert werden:
- Befolgen Sie die Regeln fĂĽr Rechtschreibung und Interpunktion, um den Text in seiner Bedeutung abzugrenzen.
- Verwenden Sie Zeilenumbrüche und lassen Sie leere Zeilen zwischen nicht verwandten Textblöcken.
- Verwenden Sie Listen, um eine Sequenz hervorzuheben oder Sätze zu kennzeichnen.
- Verwenden Sie Dienste, um einen Teil des Codes freizugeben, oder verwenden Sie Unternehmenstools: Pastebin , Github Gist , Codeshare oder beispielsweise der Slack Messenger hat eine Funktion im Code- oder Text-Snippet- Chat.
- Markieren Sie Ihre eigenen Namen, wichtigen Wörter und Details mithilfe der in Ihrem Messenger integrierten Markierung. Jetzt unterstützt jeder moderne Messenger die Textauswahl nach dieser Art.
- Unterstützen Sie Ihre Diskussion mit Links zu Dokumentationen, Artikeln oder Forenbeiträgen.
- Schreiben oder zeigen Sie dem Gesprächspartner keine unnötigen Informationen. Füllen Sie beispielsweise den gerade aufgenommenen Screenshot nicht mit dem Namen im Datumsformat Screenshot 2018-06-23 um 12.17.31 Uhr aus, wenn die andere Person diese Inschrift sieht. Schauen Sie sich das Traceback während des Diskussionsthemas "Registrierungsprozess.jpg" des Benutzers genauer an.
Verantwortung
Sie wachsen als Profi nicht nur, wenn Sie neue Erfahrungen und Kenntnisse sammeln, sondern auch, wenn:
- Wenden Sie sich bei der Lösung von Problemen an Experten.
- Ihre Arbeit kann besser gemacht werden - verbessern;
- Sie können als Kollege einen besseren Job machen - erzählen Sie ihm davon;
- Sie wissen etwas nicht - bestätigen Sie es und bitten Sie um Hilfe.
- Verbessern Sie Prozesse, bringen Sie neue Dinge mit und ignorieren Sie die Probleme nicht.
Vielen Dank, dass Sie sich die Zeit für die Veröffentlichung genommen haben. Hinterlassen Sie Feedback in privaten Nachrichten oder Kommentaren, ich werde gerne diskutieren.