Ich bin Ingenieur bei SES. Daher ist es meine Aufgabe, an verschiedenen Websites teilzunehmen und mich weiterzuentwickeln, aber was ich fühlte, als ich in einem Team mit der Idee beschäftigt war, ** überhaupt keine Kommentare zu schreiben ** ~~ und nicht viel Dokumentation ~~ für ein Jahr. Es ist ein Artikel, der geschrieben hat.
Da Java und Python für die Entwicklung verwendet werden, werden Beispiele in diesen Sprachen beschrieben.
Zuallererst war es gut. Breit geteilt
Es sind zwei Punkte.
Es gibt keine Kommentare. Beim Schreiben von Code in diesem Zustand sind ** Variablennamen, Methodennamen usw. sehr wichtig. ** Man kann sagen, dass die Codierung selbst nicht so schwierig ist, solange die Benennung ordnungsgemäß erfolgt. In SIer-Projekten gibt es viele Ideen, die ** viele Kommentare schreiben **. Der Code sieht also bisher so aus:
Sample1.java
/**
* List<Integer>Wird empfangen und die Liste, aus der gerade Zahlen extrahiert werden, wird zurückgegeben.
* @param List<Integer>Zielliste verarbeiten
* @Extraktionsergebnisliste zurückgeben
*/
private List<Integer> searchListValue(List<Integer> a) {
List<Integer> resultList = new ArrayList<>();
for(int target : a) {
if(a % 2 == 0) {
//Wenn es durch 2 teilbar ist, speichern Sie es.
resultList.add(target);
}
}
return resultList;
}
Wie Sie sehen können, dauert es einige Zeit, ** zu lesen, z. B. `resultList```, das mehrmals im selben Quellcode erscheint und dessen Argumentbezeichnung`
a``` lautet. Werde nehmen **
Versuchen wir, den Kommentar zu löschen. Wie wär es damit? Es ist schwer zu verstehen, wenn Sie nicht dem Prozess folgen ...
Sample1.java
private List<Integer> searchListValue(List<Integer> a) {
List<Integer> resultList = new ArrayList<>();
for(int target : a) {
if(a % 2 == 0) {
resultList.add(target);
}
}
return resultList;
}
Diese Art von Code ist ** ohne Kommentare nicht lesbar (das Lesen dauert einige Zeit) **, was ** Code mit Kommentaren ** ist. Es ist also ein großes Wachstum, diese Art von Code nicht mehr zu erstellen war.
Sample1.java
private List<Integer> filteledListNumber(List<Integer> targetNumList) {
List<Integer> resultNumList = new ArrayList<>();
for(int target : targetNumList) {
if(a % 2 == 0) {
resultNumList.add(target);
}
}
return resultNumList;
}
Der obige Code wurde gerade umbenannt, aber ich denke, er ist etwas einfacher zu lesen. ~~ Diese Benennung ist möglicherweise nicht gut ... ~~
Wenn in ** dynamisch typisierten ** Sprachen wie Python und JavaScript TypeScript und Typhinweise nicht verwendet werden können, welcher Datentyp sollte dann im Funktionsnamen ** verarbeitet werden? Schreibt. Je nach Fall
test.py
def add (a, b) :
return a + b;
def addNumber(a, b) :
return a + b;
Es war eine Geschichte, die tatsächlich passiert ist, aber ich habe dies getan, da es einen Fall gab, in dem ** ein Fehler aufgetreten ist, als ich einen numerischen Wert an eine Funktion übergeben habe, die Zeichenfolgen verbindet und aufruft.
Die nächste Änderung ist, dass ** jetzt Standardmethoden und Methoden / Funktionen aufruft, die in bekannten Bibliotheken zu finden sind **.
Ich habe immer empfohlen, `if``` und`
for``` zu verwenden, und ich denke, Methoden wie `stream ()`
werden nicht gemocht, erstere Ich habe es oft benutzt, aber es war ein Fehler.
Der Vorteil der Verwendung von Standardmethoden und -bibliotheken besteht darin, dass Sie jetzt überlegen können, ob es eine Methode / Funktion gibt, die dasselbe mit demselben Namen in anderen Sprachen tut.
`map ()`
anwendbar, aber auch in Python?`redu ()`
ausführen kann?Und so weiter.
Sample1.java
private List<Integer> filteledListNumber(List<Integer> targetNumList) {
List<Integer> resultList = targetNumList.stream().filter(i -> i % 2 == 0).collect(Collectors.toList());
return resultList;
}
Ich habe auch das Gefühl, dass ** wenn Sie diese Methoden kennen, Sie sie in kürzester Zeit lesen können **, was ein großer Vorteil ist.
Auf den ersten Blick können die Schreibfähigkeiten abnehmen, wenn Sie aufhören, Kommentare zu schreiben, aber Sie müssen viel in das ** Designdokument ** schreiben. (Für mich) Ich habe das Gefühl, dass es viele Menschen gibt, die alleine arbeiten können ** in Projekten, deren Kultur ** keine Kommentare schreiben **, aber ** SES ist eine Mischung aus Steinen. ** ** ** Der Informationsaustausch, der für Neuankömmlinge durchgeführt werden kann, die den Code nicht lesen können, und für diejenigen, die schon lange nicht mehr hergestellt haben, muss nicht nur über den Code, sondern auch über ** Konstruktionsdokumente ** kommuniziert werden.
Ich habe versucht, dieses Designdokument sehr detailliert zu schreiben. ** Der Teil, den ich beim Lesen des Codes nicht verstehen kann, dient dazu, dass ich mir das Designdokument ansehen und herausfinden kann, welche Art von Verarbeitung ich ausführen möchte **.
Dabei haben sich meine Schreibfähigkeiten verbessert.
** Ich war an einem Projekt beteiligt, bei dem die Kommentare, die ich hinterlassen habe, nicht geändert wurden und nicht mit dem aktuellen Prozess vereinbar waren **, aber ich habe Kommentare im Vergleich zu den damaligen Schwierigkeiten geschrieben. Ich habe das Gefühl, dass es einfacher ist, es nicht zu haben.
Von hier an ist es ein Problem. Klassifizierung ist
――Es kann schwierig sein, den Code der Person zu lesen, die das Projekt verlassen hat.
Es sind zwei Punkte.
Viele der Projekte, an denen ich bei SES teilgenommen habe, hatten viel Verkehr. ** Ich erinnere mich, dass der Code der Person, die ihn unterstützt hat, eine Java-Logik auf hoher Ebene war und sehr schwer zu lesen war. ** ** **
Wenn sich diese Situation akkumuliert, ** kann jeder sie beibehalten, wenn er den Code richtig gelesen hat, aber er brennt und es ist kein Platz dafür. ** Das passierte. In einem solchen Fall möchte ich so viel wie möglich einen Kommentar hinterlassen.
Nicht kommentieren. Im Projekt gab es keine ** Dokumentation oder Codeüberprüfung des gesamten Systems. Natürlich gibt es auch Kodierungsstandards. ** Mit anderen Worten, es bestand darin, alle Leistungen in die Verantwortung der verantwortlichen Person zu stellen **.
In diesen Fällen halte ich die Kommentare für gültig.
--Newcomer-Codierung zum ersten Mal ―― 5. Jahr ich
Jedes der von jedem von ihnen geschaffenen Artefakte hatte seinen eigenen Geschmack, so dass es einen Unterschied auf einer Ebene gab, die eine völlig andere Sprache zu sein schien. ** Ich möchte zu solchen Zeiten Informationen auf Japanisch teilen! Ich fühlte mich stark. ~~ Ich habe ein Feuer gelöscht, weil ich es nicht teilen konnte. ~~
Sample1.java
//Rookies Code
private List<Integer> searchListValue(List<Integer> a) {
List<Integer> resultList = new ArrayList<>();
for(int target : a) {
if(a % 2 == 0) {
resultList.add(target);
}
}
return resultList;
}
//Mein Code
private List<Integer> filteledListNumber(List<Integer> targetNumList) {
List<Integer> resultList = targetNumList.stream().filter(i -> i % 2 == 0).collect(Collectors.toList());
return resultList;
}
//Veteranencode
private List<Integer> filteledListNumber(List<Integer> targetNumList) {
return targetNumList.stream().filter(i -> i % 2 == 0).collect(Collectors.toList());
}
All dies ist der gleiche Prozess, jedoch mit einem anderen Ansatz. Dieser Unterschied in der Vorgehensweise ** tritt in allen Quelldateien auf. ** Wenn Sie also eine Kultur schaffen möchten, in der Sie keine Kommentare schreiben, ** müssen Sie sich auf andere Prozesse konzentrieren, sonst wird das Limit eines Tages kommen. ** ** **
Es ist kurz, aber das war's. Es ist ein persönlicher Eindruck, aber der Kommentar ist
Ich denke, dass es effektiv ist, in einem solchen Fall zu beschreiben.
Recommended Posts