Jeder kennt die Redewendung "Regeln sind dafür gemacht, gebrochen zu werden!", Also ist hier Ihre Aufgabe:
Schreiben Sie Code in einer Sprache, die einen Standard verletzt. Dies kann alles sein, vom Abschalten von 240 Volt über ein USB-Kabel bis hin zum Pingen Ihres Routers ( NICHT der Website eines anderen!) Mit einem 10-MB-Paket! (Keine Ahnung, beides wird wahrscheinlich allerlei Schicksal verursachen!)
Die am besten bewertete Antwort nach 10 Tagen (dh die schwerwiegendste Verletzung) gewinnt!
Regeln:
- Der Code muss erklärt werden.
- Der Standard, den Sie brechen, muss verknüpft sein, und Sie müssen erklären, was Sie tun (impliziert 1), um ihn zu brechen. Andernfalls werden Antworten nicht akzeptiert.
- Antworten, die den Interpreter zum Absturz bringen oder ihn zum Funktionieren bringen, werden nicht akzeptiert. Ich hätte gerne kreative Antworten, nicht nur etwas
𐒢
in IDLE einzufügen (was es zum Absturz bringt) - Das Ausnutzen von Fehlern ist nicht gestattet, es sei denn, sie verstoßen gegen einen Standard. Andernfalls werden Antworten nicht akzeptiert
Fangen Sie an und haben Sie Spaß!
popularity-contest
George
quelle
quelle
Antworten:
Python
Erläuterung:
Der Standard des Programming Puzzles & Code Golf Stack Exchange ist zu
Dieser Code beantwortet die Frage nicht und verstößt somit gegen den Standard.
quelle
print("hello world")
C
Hier ist ein Fakultätsprogramm, das kompiliert und erfolgreich ausgeführt wird (mit gcc4.6.3 unter Ubuntu 12.04), das jedoch so viel undefiniertes Verhalten gemäß dem C-Standard aufruft, wie ich einschließen kann. Die meisten sind von hier inspiriert . Ein Großteil des verbleibenden Gesetzes ist einfach schlecht.
quelle
XHTML
Die W3C-Spezifikation ( http://www.w3.org/TR/html-markup/p.html#p ):
Oh, ich fühle mich schmutzig!
Edit: @xfix wies darauf hin, dass der Fehler, den ich , tatsächlich XHTML war. Der dadurch verursachte HTML-Fehler ist kühler und weniger offensichtlich, so dass:
<p><div></div><p>
wird,<p /><div></div></p>
weil das dazu führt,<div>
dass sich das<p>
selbst schließt. Dies führt zu einem Fehler, da versucht wird, einen nicht vorhandenen Absatz zu schließen.quelle
</p>
Tag existiert, ohne es zu schließen, da es<div>
automatisch geschlossen wird<p>
.<p>
wird durch bestimmte Tags geschlossen. Für den HTML4-Validator erhalte ich das "End-Tag für das Element" P ", das nicht geöffnet ist".HTTP / 1.1: Antwort - Statuscode und Begründungssatz
Muss ich noch weiter gehen? Dieser Statuscode ist keiner der im Standard definierten Codes. Es beginnt nicht einmal mit einer der erforderlichen Kategoriestellen. Es ist nicht einmal 3 Ziffern lang.
Mein Browser schafft es immer noch, die Seite in Ordnung zu laden.
Außerdem verstößt diese Antwort gegen einen der "Standards" dieser Site :)
Ausgang (Statuszeile):
JavaScript (Knoten)
quelle
Wie viele Standards habe ich gerade gebrochen?
Ich habe hier wirklich einige schreckliche Programmierungen gemacht.
PHP
Osterei: Die
echo
ed Buchstaben, wenn sie vertikal gelesen werden, werden gelesenjust killed standarDs!
.Anmerkung: Wenn Sie dieses Programm ausführen , wird der Name eines Mannes ausgegeben, der
goto
s wirklich geliebt hat .quelle
Brechen von Unicode
Einfacher Algorithmus zum Umkehren eines Strings:
Dies verstößt gegen den Unicode- Standard, da die Ersatzpaare nicht korrekt zusammengehalten werden und eine ungültige Zeichenfolge erstellt wird. In .NET und vielen anderen Plattformen / Programmiersprachen
char
ist a nicht wirklich ein Zeichen, sondern eine UTF-16- Codeeinheit.NB: Es ändert sich auch, welcher Buchstabe mit nachfolgenden Kombinationszeichen (z. B. diakritischen Zeichen) kombiniert wird, die möglicherweise beabsichtigt sind oder nicht.
quelle
JavaScript
Führen Sie es in der Konsole auf dieser Seite aus.
Inspiriert von
Was es tut, ist die Ausgabe einer zufälligen Antwort aus den Top 1000 von Codegolf.SE (dh die Lösung des Problems in einer sehr meta- artigen Weise!), Komplett mit Formatierung und allem, auf Ihrer Seite!
Leider entspricht dies technisch nicht den Regeln, da die Ausgabe der Code mit den gebrochenen Standards ist, also habe ich in diesem Code einen Standard gebrochen - ich habe
document.write
(ewwww) verwendet. Ich muss auch einen Link angeben, also hier: Warum wird document.write als "schlechte Praxis" angesehen?Wenn dies nicht als "Verstoß gegen die Standards" gilt, habe ich meine Zeichenfolge in
unescape(escape())
die gemäß MDN veraltete Zeichenfolge eingewickelt .Beachten Sie, dass ich das alles nur mache, um die Regeln zu umgehen, und der Hauptpunkt dieser Antwort ist die Ausgabe.
Probelauf (zum Vergrößern Bild anklicken):
quelle
var
Anweisungen entfernen , damit sie mehr gegen die Standards verstoßen.XML
Nicht meine "Erfindung", ich muss tatsächlich mit solchen XMLs arbeiten, die wir von einem sehr geheimen Ort bekommen:
Prüft nicht gegen seine eigene eingebettete DTD, enthält mehrere Roots und Et-Zeichen. (Es gibt auch andere übergeordnete Fehler, mehrdeutige Inhaltsmodelle usw., die hier nicht gezeigt werden.) Sehr traurig.
quelle
Das Festlegen der Netzmaske auf nicht zusammenhängende Bitmasken wurde von RFC 950 zwar zugelassen, wurde jedoch dringend empfohlen, ist jedoch seit RFC 1219 nicht mehr zulässig. BSD-ähnliche Systeme ermöglichen dies jedoch.
IPv4-Netzmasken bestehen wie eine IP-Adresse aus einer Kombination von vier Bytes. Es wird verwendet, um zu berechnen, ob sich zwei Hosts mit bekannten IP-Adressen und Netzmasken im selben Netzwerk befinden. Im Allgemeinen besteht eine IP-Adresse aus zwei Teilen: dem Netzwerk- und dem Host-Teil. Sagen Sie, Ihr Netzwerk zu Hause ist
192.168.1.1
-192.168.1.254
. Der Host-Teil sind nämlich die ersten drei Bytes der IP192.168.1.x
. Das heißt, die Netzmaske ist255.255.255.0
, dh die ersten 24 Bits sind der Netzwerkteil. In Binär sieht die Maske so aus11111111.11111111.11111111.00000000
. Die 1-Bits sind fortlaufend. In meinem Beispiel wäre die Netzmaske00010111.00000000.00000000.00101010
. Was würde also passieren, wenn die Netzmaske nicht kontinuierlich ist? Anstatt am richtigen Ende zu sein, ist der Host-Teil über die gesamte IP-Adresse verteilt, was es sehr schwer macht, ihn zu lesen, genau wie meine Erklärung hier.Erwarten Sie NICHT, dass danach irgendetwas funktioniert!
quelle
C
Wie viele Fehler können Sie finden, die wahrscheinlich dazu führen, dass die meisten Unternehmen Ihren Code ablehnen (besonders gute). Die meisten davon sind wahrscheinlich Stilfehler (von denen ich hoffe, dass niemand sie macht), aber einige sind undefiniertes Verhalten.
quelle
Gehen
http://play.golang.org/p/DrDHF9EMgu
Erklärung ist hier . Die Regeln "while" und "despiteallobjections" erscheinen nicht in der Spezifikation, aber der Lexer überspringt sie einfach als eine Art Osterei. Ich denke, der Linter ist standardkonformer, denn wenn Sie auf den Link "Go Playground" klicken, wird ein Analysefehler angezeigt.
quelle
JavaScript
Erläuterung:
Eine while-Schleife mit der Bezeichnung "standards" wird beendet.
Gebrochene Standards:
quelle
JavaScript
Es bricht einen Standard, weil es nicht genug jQuery verwendet.
Die richtige Art, diesen Code zu schreiben, ist hier zu sehen
quelle
GML bricht eine Menge Standards. Eine davon ist die Schönheit, ternäre Operatoren nicht zuzulassen. Anstatt ternäre Operatoren zu verwenden, würde ich in GML Folgendes tun:
Wo das ternäre Äquivalent ist:
Das erste ist ziemlich unangenehm, besonders wenn Sie anfangen, andere Operationen hinzuzufügen.
quelle
Haskell
Mein Programm bricht nicht wirklich alle Standards, sondern wählt nur zufällig einen aus, der verwendet werden soll. Es wird versucht, über die verschiedenen Standards hinweg fair zu sein. Hier ist mein Code.
fairUnlines
Nimmt eine Liste von Zeichenfolgen und verbindet sie mit zufälligen Standards für Zeilenumbrüche. Es ist auch das erste Mal, dass ich den anwendungsbezogenen Stil auf IO verwende, trotzdem.quelle
Bash
Nehmen Sie aus Ihrem Beispiel:
Angenommen, Ihr Router befindet sich in
192.168.0.1
Hinweis: Die maximale Ping-Größe beträgt 65 KB, also habe ich 10 KB anstelle von 10 MB gemacht
quelle
Java
Oh je, jemand hat den Getter wieder vergessen ...
Das
Useful
Feld sollte klein geschrieben sein :useful
Ich
java.lang.reflect.Field
bin mir nicht sicher, ob dies ein Standard ist: unbrauchbarer Platzhalterimport (sollte nur sein, da das alles ist, was verwendet wird).quelle