[JAVA] Sobald Sie es sehen, ist es ein verdammter Code

Überblick

Inspiriert von @ rana_kualus Artikel, Ich werde über den gefährlichsten verdammten Code schreiben, den ich je gesehen habe.

(Originaler Artikel) · Der schmutzigste Quellcode, den ich je gesehen habe - Qiita https://qiita.com/rana_kualu/items/2f3c40642836c11f5ddc

Verdammter Code

① typedef

Reproduktionscode.c


typedef void coid;
typedef void boid;

Mit Blick auf die Tastatur sind [** c ] [ v ] [ b **] in einer Reihe. Das heißt, dies bedeutet, dass ** Tippfehler durch Neudefinition des Modellnamens ** abgedeckt werden. Wie erwartet dachte ich, dass dies ** kein Programm ** ist.

② Minus 10.000

Der Variablenname ist vorerst angemessen.

Reproduktionscode.php


$date0 = '20201122'; //Die Zeichenfolge wird mit JJJJMMTT vom Bildschirm angezeigt
$date1 = $date0 -10000;
$year = substr($date1, 0, 4);
$month = substr($date1, 4, 2);
$day   = substr($date1, 6, 2);

Was ist der Prozess des Subtrahierens von 10.000? Ein Kollege (zu dieser Zeit) fand diesen Code aus einem zu wartenden Mechanismus und kümmerte sich um ihn. Bei der Datumsverarbeitung sind 10.000 schlecht. .. .. Zum Glück war die Person, die es geschrieben hat, neben mir, also habe ich ihn direkt gefragt.

Vor einem Jahr berechnet

:thinking::thinking::thinking::thinking::thinking:

: erstaunt: ich verstehe! : rage: Rewrite! :unch_tone2:

Glücklicherweise war die Person, die es geschrieben hat, ein Freund (Klassenkamerad) von der High School, also habe ich ihn vorerst geschlagen.

Für die Datumsmanipulation gibt es eine Funktion für die Datumsmanipulation. Verwenden wir sie also. (Ich meine, ich bin eine Person in einem statischen Feld, daher zitterten meine Knie bei der dynamischen Konvertierung.)

③ Takoikapanikku

Reproduktionscode.java


boolean checkNumber (str) {
  boolean isNumber = !NumberUtils.isNumber(str);
  if(isNumber) {
    //Verarbeitung von Fehlermeldungen
  }
  return !isNumber;
}

Tsukkomi

Der logische Wert (wahr / falsch-Wert) ist durcheinander.

<Die Beschreibung wurde gelöscht>

Logische Werte sind sehr verwirrend. Seien Sie daher vorsichtig, wenn Sie mit ihnen umgehen. Ich versuche, das Positive wahr und das Negative falsch zu machen.

④ (Addition) Die Kraft von include!

Ich erinnerte mich irgendwie daran, als ich [@ fujitanozomus Beispielcode] sah (https://qiita.com/libraplanet/items/5fbe7d7d3b4f1906b4ad#comment-c189c5cad7740bbd8258), also werde ich es hinzufügen.

Reproduktionscode.c


int tbl[] = {
  #include <list.csv>
};

So benutzt man es so. .. .. Grobe Arbeit, weil Sie den Kompilierungsprozess verstehen! ?? Ich dachte.

Makrokultur ist in Programmiersprachen zu einem schlechten Grundgesetz geworden ... (Obwohl einige Funktionen in späteren Sprachen verbleiben)

das ist alles

Ich möchte mich jeden Tag widmen, um keinen Scheißcode zu schreiben.

Nachtrag ① 2020/06/21 (So)

Ich habe Angst, weil die Anzahl der Aufrufe größer ist als ich erwartet hatte. Der Teil, der ein wenig wütend ist, ist privat und scheint also ein Problem zu sein Einige Beschreibungen wurden gelöscht.

Nachtrag ② 2020/06/21 (So)

④ wurde hinzugefügt. Ich habe mich gerade daran erinnert (bitteres Lächeln)

Nachtrag ③ 2020/06/22 (So)

Ich habe Informationen von @sakuro erhalten. Es scheint ein Dateiformat zu geben, das ursprünglich enthalten sein sollte. ・ XPM - Wikipedia https://ja.wikipedia.org/wiki/XPM XPM selbst scheint der Hauptteil des Quellcodes in C-Sprache zu sein.

Recommended Posts

Sobald Sie es sehen, ist es ein verdammter Code
Bis Sie den Apache Velocity-Beispielcode ausführen
Seite, auf der Sie die Versionsrelation von spring (?) Sehen können
Senden Sie den verwendeten Gutscheincode an den angegebenen Endpunkt zurück
Fassen Sie die Wörter zusammen, die Sie gelernt haben
Bis der Code ausgeführt wird
Beim Lesen des Quellcodes
Java Konvertiert unterschiedliche Zeichencodes gleichzeitig in denselben Zeichencode