Pchełki VBA, odcinek 15: zagadka

https://xpil.eu/GaVHp

Dzisiaj pokażę antypchełkę, czyli jak nie pisać kodu VBA. Żeby zmieścić się w kategorii "Pchełki", tylko sześć linii.

A czemu zagadka?

Proszę powiedzieć co robi poniższy kod 😉

Sub AntyPchelka()
 Dim lf As Long, Switchh As Long, L0ng As String
 lf = 17
 L0ng = "String"
 If lf = Switch(L0ng = "Long", 0, L0ng = "String", 17, True, 19) Then Debug.Print Switch(Switchh = 0, 9, False, True, True, False)
End Sub

I proszę nigdy, przenigdy nie stosować takiego stylu programowania. No chyba że ktoś ma zapędy sadystyczno-masochistyczne...

https://xpil.eu/GaVHp

7 komentarzy

    1. Mniej więcej. Z tym, że C (i pochodne) daje w tym kierunku o wiele większe możliwości niż VBA. Dlatego mistrzowie nieczytelności kodu programują w C (i pochodnych) 😉

  1. Takie cos nazywa sie fachowo "code obfuscation" i ja bym nie przedstawial tego jako antywzorca, ale zmyslne ukrycie swojego kodu zrodlowego przed nieporzadanym uzyciem. Sa nawet zawody w tym organizowane, wystarczy pogooglowac.

    Bardziej jako antywzorce programowania widzialbym tutaj uzywanie "magic numbers" czy "hardcoded strings", czego osobiscie bardzo nie cierpie.

    1. A wiesz, że przy pisaniu tego wpisu szukałem code obfuscation? Tylko że wszystkie wyniki Gugla prowadziły do oprogramowania wspomagającego CO a nie do przykładów kodu.

        1. O kurdę, przeoczyłem to. Świetne 😉

          Z kolei moje ulubione "dziwactwa" programistyczne to ezoteryczne języki programowania takie jak Brainfuck, Whitespace czy król królów Malbolge (ponoć pierwszy działający program w Malbolge-u udało się napisać dopiero po dwóch latach od stworzenia języka, i to za pomocą osobnego algorytmu).

          1. Kiedys probowalem zrozumiec dzialanie instrukcji w Malbolge, ale dalem sobie spokoj. To zadanie dla prawdziwych pasjonatow. 😉

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.