1. Java / Говнокод #388

    +29

    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
    if (searchBox.isFocused()) {
    			addressBookPopupMenu.enableItem(0, false);//view
    			addressBookPopupMenu.enableItem(1, true);//search
    			addressBookPopupMenu.enableItem(2, true);//add contact
    			addressBookPopupMenu.enableItem(3, false);//edit contact
    			addressBookPopupMenu.enableItem(4, false);//delete contact
    			addressBookPopupMenu.enableItem(5, false);            
    		}
    		else {
    			addressBookPopupMenu.enableItem(0,true);
    			addressBookPopupMenu.enableItem(1,false);
    			addressBookPopupMenu.enableItem(2,true);
    			addressBookPopupMenu.enableItem(3,true);
    			addressBookPopupMenu.enableItem(4,true);
    			addressBookPopupMenu.enableItem(5, true);           
    		}
    
    		if(isSocialNWportal()) {
    			addressBookPopupMenu.enableItem(2, false);//add contact
    			addressBookPopupMenu.enableItem(3, false);//edit contact
    			addressBookPopupMenu.enableItem(4, false);//delete contact
    		}

    индусская логика vs Российская. Чуть ни упал пацтол когда соптимизячил и сравнил со своим кодом:

    boolean allowFlag = !(searchBox.isFocused() || contactListBox.isEmpty());
    boolean portalFlag = !isSocialNWportal();
    addressBookPopupMenu.enableItem(0, allowFlag);
    addressBookPopupMenu.enableItem(1, !allowFlag);
    addressBookPopupMenu.enableItem(2, portalFlag);//add contact
    addressBookPopupMenu.enableItem(3, allowFlag && portalFlag);
    addressBookPopupMenu.enableItem(4, allowFlag && portalFlag);
    addressBookPopupMenu.enableItem(5, !searchBox.isFocused());

    Запостил: guest, 14 Января 2009

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

    • sss:
      Оптимизячество тоже говнокодно, но лучше предидущего
      Ответить
    • sss всё сказал!
      Ответить
    • j2medev:
      Ну все с вами ясно - вы не лучше тех же индусов. enableItem - дорогая операция реорганизующая геометрию всего контейнера что млять дорого в мобильных приложениях!!!
      Ответить
    • anmiles:
      Заговнооптимизячил. Выигрыш по производительности практически нулевой, проигрыш по ебанутости кода фантастический.
      Примечание: ебанутость кода обратно пропорциональна его понимабельности с первого раза с первого взгляда чужим девелопером. в первом случае мы видим красивую и понятную логику, во втором - короткое и противное дерьмо, которое тонет в операциях отрицания.
      Ответить
    • j2medev:
      to anmiles

      ты калич наверно не понял что в том методе перебираются все айтимы в контейнере, а это значит 1ый пример будет работать медленнее и причем гораздо. А скорость это важнее в джава МЕ нежели что-то другое. Так что нехуй пиздеть что выигрыш нулевой если не знаешь на чем будет исполняться.

      булеву алгебру учите апсосы, тогда и код понятен будет. А ежели сами как индусы с прозоачным образованием,то нехуй пиздеть!
      Ответить
    • автор лох и облажался
      Ответить

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