1. C# / Говнокод #17471

    +96

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    protected override void OnSourceInitialized(EventArgs e)
    {
        base.OnSourceInitialized(e);
        var hWndSource = (HwndSource)PresentationSource.FromVisual(this);
        Handle = hWndSource.Handle;
        hWndSource.AddHook(WndProc);
    }
    
    private const int WM_ACTIVATE = 0x0006;
    private const ushort WA_INACTIVE = 0;
    
    static ushort LOWORD(IntPtr I)
    {
        unchecked
        {
            return (ushort)(((uint)I) & 0xFFFF);
        }
    }
    
    protected IntPtr WndProc(IntPtr hWnd, int iMsg, IntPtr wParam, IntPtr lParam, ref bool bHandled)
    {
        switch (iMsg)
        {
            case WM_ACTIVATE:
                Opacity = LOWORD(wParam) == WA_INACTIVE ? 0.4 : 1.0;
                bHandled = true;
                return (IntPtr)1;
        }
    
        return IntPtr.Zero;
    }

    Из моего проекта. Так я писал код 0.8 год назад.
    Вместо того, чтобы использовать OnActivated и OnDeactivated.

    Запостил: Janycz, 18 Января 2015

    Комментарии (28) RSS

    • Приходите к нам через восемь лет и постите свой недавний говнокод из глубокого продакшена при сжатых сроках.
      Ответить
      • > Приходите к нам через восемь лет
        знакомая фраза, только с немного другой формулировкой
        Ответить
        • Я что-то вспоминаю, но сам не смог нагуглить.(((((
          Ответить
    • > 0.8 год
      > 1.5 год
      Ты текст в шаблон что-ли подставляешь?
      Ответить
      • Обер-оператор шаблонизатора.
        http://govnokod.ru/17452#comment261798
        Ответить
      • Я уже скучаю по дробным частям года на «Говнокоде».
        Ответить
    • Помница 3.42 года назад я написал очень смешной код, но к сожалению 1/72 года назад я его потерял:/
      ------
      а вообще всем ужасно интересно. Покажите как Вы писали код 0.7 года назад, 0.6, 0.5 и 0.25
      Ответить
      • Я знаю, какой код вы написали прошлым летом.
        Ответить
    • Какая то прям автобиография получилась, только в кратком изложении, жаль только что прошло уже так много времени, а автор так ничему и не научился.
      Ответить
    • Автор, вот что любопытно узнать. Из каких соображений такой нейминг?
      static ushort LOWORD(IntPtr I)

      IntPtr I
      – венгерская говнонотация, понятно. Но зачем именовать статический метод капсом?
      Ответить
      • Дань WinAPI'шному макросу LOWORD() с аналогичным эффектом.
        Ответить
      • Thewe Loword saway: "Gowo dowown, Mowosewes,
        Waway dowown iwin Ewegypt lawand,
        Tewell owold Phawarawaowon
        Towo lewet my peweowoplewe gowo!"
        Ответить
        • Жалко, что алгоритм не различает, когда «y» употребляется в качестве гласной, а когда — в качестве согласной. По идее должно быть «Ewegywypt» и «mywy».
          Ответить
          • Thewe Loword saway: "Gowo dowown, Mowosewes,
            Waway dowown iwin Ewegypt lawand,
            Tewell owold Phawarawaowon
            Towo lewet my peweowoplewe gowo!"
            Ответить
            • Простите, фальшпост.
              Ответить
              • Siling wilith mele, siling folor thele yelealars
                Siling folor thele lalaulughteler, siling folor thele telealars
                Siling wilith mele, julust folor tolodalayly
                Malaybele tolomolorrolow, thele goloolod Lolord wilill talakele yoloulu alawalayly
                Ответить
                • Надо придумать, что делать со словом «HIWORD». Какое слово это могло быть в оригинале: hard, herd, heard, hird, hoard?
                  Ответить
                • > Malaybele
                  Все в восторге от тебя,
                  А ты от Malaybele!
                  Ответить
            • Thekeweke Lokowokord sakawakayky: "Gokowoko dokowokown, Mokowokosekewekes,
              Wakawakayky dokowokown ikiwikin EkEwekegykypt lakawakand,
              Tekewekell okowokold Phakawakarakawakaokowokon
              Tokowoko lekeweket myky pekewekeokowokoplekeweke gokowoko!"
              Ответить
              • Avallevez vevenevez! Mivilovord.
                Vouvous avasseveoivoir àvà mava tavableve
                Ivil faivait sivi froivoid devehovors
                Ivicivi, c'evest covonfovortavableve.

                Laivaissevez-vouvous faivaireve, Mivilovord.
                Evet prevenevez bievien vovos aivaiseves
                Vovos peiveineves suvur movon cœuvœur
                Evet vovos pievieds suvur uvuneve chaivaiseve.
                Ответить
                • Не понял что ты сделал, ты распарсил слоговую структуру? У тебя гласные подряд идут. У меня тупой матчинг по регулярке, гласные разбавятся психозой по отдельности.
                  function igpayAtinliefy(text, consonant) {
                      return text.replace(/[йцкнгшщзхъфвпрлджчсмтьбqwrtypsdfghjklzxcvbnm]*([уеыаоэяиюёeuioay])/gi, (match, vowel) => match + consonant + vowel);
                    }
                  Ответить
      • LOWORD OWOF THEWE RIWINGS
        Ответить

    Добавить комментарий