Wszyscy znają wyrażenie „Zasady są po to, aby je łamać!”, Więc oto twoje zadanie:
Napisz kod w dowolnym języku, który łamie standard. Może to być wszystko, od zerwania kabla USB o napięciu 240 woltów, po pingowanie routera ( NIE witryny innej osoby!) Za pomocą pakietu 10 MB! (Nie mam żadnych pomysłów, oba prawdopodobnie spowodują różnego rodzaju fatum!)
Najbardziej pozytywna odpowiedź po 10 dniach (najpoważniejsze naruszenie) wygra!
Zasady:
- Kod musi zostać wyjaśniony.
- Standard, który łamiesz, musi być powiązany i musisz wyjaśnić, co robisz (implikuje 1), aby go złamać. W przeciwnym razie odpowiedzi nie będą akceptowane.
- Odpowiedzi, które powodują awarię interpretera lub powodują, że przestaje on działać, nie będą akceptowane. Chciałbym kilka kreatywnych odpowiedzi, a nie tylko wklejenie czegoś takiego jak
𐒢
IDLE (co powoduje awarię) - Wykorzystywanie błędów jest niedozwolone, chyba że złamie standard. W przeciwnym razie odpowiedzi nie będą akceptowane
Zacznij i baw się dobrze!
popularity-contest
Jerzy
źródło
źródło
Odpowiedzi:
Pyton
Wyjaśnienie:
Standard programowania łamigłówki & Code Golf Stos Exchange jest
Ten kod nie odpowiada na pytanie, więc łamie standard.
źródło
print("hello world")
C
Oto silnia program kompiluje się i działa succcessfully (z gcc4.6.3 na Ubuntu 12.04), ale wywołuje tyle niezdefiniowanej zachowań według standardu C jak mogłem dopchać w. Większość z nich inspirowana tutaj . Wiele pozostałego legalnego kodu jest po prostu złe.
źródło
XHTML
Specyfikacja W3C ( http://www.w3.org/TR/html-markup/p.html#p ):
Och, czuję się brudny!
Edycja: @xfix zwrócił uwagę, że wyświetlany mnie błąd to XHTML. Wywoływany przez niego błąd HTML jest fajniejszy i mniej oczywisty, dlatego:
<p><div></div><p>
staje się,<p /><div></div></p>
ponieważ<div>
powoduje<p>
samozamykanie. Powoduje to błąd, ponieważ próbujemy zamknąć akapit, który nie istnieje.źródło
</p>
tag istnieje bez jego zamykania, ponieważ<div>
automatycznie się zamyka<p>
.<p>
jest zamknięty przez niektóre tagi. Dla walidatora HTML4 otrzymuję „tag końcowy dla elementu„ P ”, który nie jest otwarty”.HTTP / 1.1: Odpowiedź - kod stanu i fraza przyczyny
Czy muszę iść dalej? Ten kod stanu nie jest jednym z kodów zdefiniowanych w standardzie. Nie zaczyna się nawet od jednej z wymaganych cyfr kategorii. Nie ma nawet 3 cyfr.
Moja przeglądarka nadal ładuje się poprawnie.
Ponadto ta odpowiedź łamie jeden ze „standardów” tej witryny :)
Dane wyjściowe (linia statusu):
JavaScript (węzeł)
źródło
Ile standardów właśnie złamałem?
Rzeczywiście zrobiłem tutaj okropne programowanie.
PHP
Pisanka: The
echo
letters ED, jeśli czytać pionowo, będzie czytaćjust killed standarDs!
.Sidenote: Uruchomienie tego programu spowoduje wyświetlenie nazwiska faceta, który naprawdę kochał
goto
s.źródło
C # - łamanie Unicode
Prosty algorytm odwracania łańcucha:
To łamie standard Unicode , ponieważ nie utrzymuje poprawnie par zastępczych razem, tworząc nieprawidłowy ciąg. W .NET i wielu innych platformach / językach programowania a
char
nie jest tak naprawdę znakiem, ale jednostką kodu UTF-16 .NB: Zmienia także, która litera jest łączona z kolejnymi łączącymi znakami (np. Znaki diakrytyczne), które mogą, ale nie muszą być zamierzone.
źródło
JavaScript
Uruchom go w konsoli na tej stronie.
Zainspirowany przez
To, co robi, jest wyjściem losowa odpowiedź spośród 1000 najlepszych głosowanych z codegolf.SE (tj. Rozwiązanie problemu w bardzo meta-stylu!), Wraz z formatowaniem i wszystkim na twojej stronie!
Niestety, to technicznie nie spełnia zasad, ponieważ wynikiem jest kod ze złamanymi standardami, więc złamałem standard w tym kodzie - użyłem
document.write
(ewwww). Muszę również podać link, więc tutaj: Dlaczego document.write jest uważane za „złą praktykę”?Jeśli to nie liczy się jako „łamanie standardów”, na wszelki wypadek owinąłem sznurek
unescape(escape())
, który jest przestarzały, zgodnie z MDN .Zauważ, że tak naprawdę robię to wszystko, aby ominąć reguły, a głównym celem tej odpowiedzi jest jej wynik.
Przykładowy przebieg (kliknij obraz, aby powiększyć):
źródło
var
oświadczenia, aby bardziej niezgodne ze standardami.XML
Nie mój „wynalazek”, tak naprawdę muszę pracować z XML-ami, które otrzymujemy z bardzo tajnego miejsca:
Nie sprawdza się względem własnego osadzonego DTD, zawiera wiele rdzeni i nieskalowane znaki handlowe. (Są też inne błędy wyższego poziomu, niejednoznaczny model treści itp., Których tutaj nie pokazano). Bardzo smutne.
źródło
Ustawienie maski sieci na nieinwazyjne maski bitowe było dozwolone, ale bardzo zniechęcone przez RFC 950, ale jest zabronione od RFC 1219. Niemniej jednak, polubienia BSD pozwalają to zrobić.
Maski sieciowe IPv4 to kombinacja czterech bajtów, podobnie jak adres IP. Służy do obliczania, czy dwa hosty o znanych adresach IP i maskach sieciowych są w tej samej sieci. Zasadniczo adres IP składa się z dwóch części: sieci i części hosta. Powiedz, że Twoja sieć w domu to
192.168.1.1
-192.168.1.254
. Część hosta to pierwsze trzy bajty adresu IP, a mianowicie192.168.1.x
. Oznacza to, że maska sieci jest255.255.255.0
, co oznacza, że pierwsze 24 bity są częścią sieci. W trybie binarnym wygląda maska11111111.11111111.11111111.00000000
. 1-bit są ciągłe. W moim przykładzie maska sieci byłaby00010111.00000000.00000000.00101010
. Co by się stało, gdyby maska sieci nie była ciągła? Zamiast znajdować się po prawej stronie, część hosta jest rozproszona po całym adresie IP, co sprawia, że bardzo trudno ją odczytać, tak jak tutaj to wyjaśniłem.NIE oczekuj, że potem coś zadziała!
źródło
do
Ile błędów można znaleźć, co prawdopodobnie spowoduje, że większość firm odrzuci Twój kod (szczególnie dobre). Większość z nich to prawdopodobnie błędy w stylu (których, mam nadzieję, nikt nie robi), ale niektóre z nich są niezdefiniowanym zachowaniem.
źródło
Udać się
http://play.golang.org/p/DrDHF9EMgu
Wyjaśnienie jest tutaj . Zasady „choć” i „pomimo wszystkich obiekcji” nie pojawiają się w specyfikacji, ale leksykon po prostu je omija, jak rodzaj pisanki. Myślę, że linijka jest bardziej zgodna ze standardami, ponieważ jeśli klikniesz „Format” w tym linku Go Playground, pojawi się błąd analizy.
źródło
JavaScript
Wyjaśnienie:
Pętla while oznaczona jako „standardy” została zakończona.
Standardy złamane:
źródło
JavaScript
Łamie standard, ponieważ nie wykorzystuje wystarczającej ilości jQuery
. Właściwy sposób napisania tego kodu można zobaczyć tutaj
źródło
GML łamie masę standardów. Jednym z nich jest piękno niedopuszczania do korzystania z operatorów trójskładnikowych. Zamiast używać Ternary Operators, w GML zrobiłbym to:
Gdzie równoważnikiem trójskładnikowym jest:
Pierwszy jest dość paskudny, zwłaszcza gdy zaczynasz dodawać inne operacje.
źródło
Haskell
Mój program tak naprawdę nie łamie żadnych standardów, ale po prostu losowo wybiera jeden z nich. Stara się być uczciwy w różnych standardach. Oto mój kod.
fairUnlines
weźmie listę Ciągów i dołączy je przy użyciu losowych standardów znaków nowej linii. Poza tym po raz pierwszy zastosowałem styl aplikacji, niemniej jednak na IO.źródło
Grzmotnąć
Biorąc z twojego przykładu:
Zakładając, że router jest w
192.168.0.1
Uwaga: maksymalny rozmiar ping to 65 kb, więc zrobiłem 10 kb zamiast 10 mb
źródło
Jawa
Och, kochanie, ktoś znowu zapomniał o getterze ...
Useful
Pole powinno być małe litery :useful
Nie jestem pewien, czy jest to standard: bezużyteczny import symboli wieloznacznych (powinien być po prostu
java.lang.reflect.Field
dlatego, że to wszystko, co jest używane).źródło