ITnan

Все публикации Хабрахабр и Гиктаймс в одном месте
Выбран стиль: blue



Выбран хаб Периферия


  1. grumegargler
    /#10624410

    буквально на днях общался с коллегой, который рассказывал как в его проекте, сеттер генерировал 200-килобайтный sql-запрос, и что это неправильно, в умных книжках пишут, что сеттер/геттер не должен делать ничего лишнего. А я слушаю и думаю, вначале изобрели потенциальную проблему, а потом пишут о том, как её избегать.

  2. Stecenko
    /#10556993

    Вот обобщать бы не стоило
    Статистика от ВОЗ сойдет? — 15 литров Россия против 10 литров в Британии. У нас больше, но не в разы. И по личным ощущениям, не знаю, как в столицах, но в наших степях за последние три десятилетия пить стали меньше. Неработающие-пьющие поумирали, работающим особо некогда, да и все в основном за рулем.

  3. Flux
    /#10624406

    Не понимаю этого хейта свойств и вечного аргумента про то что свойства «прикидываются обычными полями и изо всех сил хотят обмануть программиста».

    Во первых, если свойства используются в языке где есть конвеншн об их использовании (не в С++) то никакой неоднозначтности и маскировки под поля нет. Когда я вижу выражение

    if (my_object.Length < 10) {
        my_object.Length = 42;
    }

    я точно знаю что Length можно прочитать и присвоить. Также я знаю что объект останется в консистентном состоянии, что бы я не пытался сотворить использованием оного свойства. Если я знаю что объект сложный то я ожидаю что присвоение свойству вызовет какую-то логику обновления.

    Про маскировку свойств под поля — в том же шарпе когда я пишу my_array.Length я ожидаю что это будет свойство а не поле. А спутать свойство с полем у меня еще ни разу не получалось (даже если я просто смотрел код на гитхабе, про код который я пишу сам и говорить нечего) — комбинация из нейминга, сценария использования и подсказок IDE просто не позволяет ошибиться.

    В реальной жизни объекты обладают именно свойствами которые можно (или нельзя) изменять, а не являются черными ящиками с каким-то состоянием и выведенными наружу способами изменить и получить его. Плюс, код с использованием свойств намного больше похож на математическую запись и не вырождается в лапшу из setProp(expression(getProp())).
    Касательно производительности — подавляющее большинство юзкейсов для свойств это изменение какого-то поля объекта и обновление состояния. Геттер это почти всегда return this.field и инлайнится компилятором, сеттер зачастую немногим тяжелее.
    Вызов же тяжелой логики по изменению свойства либо ожидается (например когда изменение свойства триггерит ивент) либо является лютой ошибкой дизайна, в которой инструмент уже слабо виноват.

  4. Welran
    /#10556989

    Зашоренность в том что, когда аппл допускает ситуацию когда ваш телефон становится без всякой видимой причины медленнее, а потом объясняет тем что, несмотря на то что у вас круглый год температура не падает ниже +25, нужно обязательно замедлить его что бы он не перегружался на морозе, вы справедливо возмущаетесь, а какой то чел настойчиво убеждает вас что все правильно сделали? У вас какое то странное трактование слова зашоренность.

  5. dernuss
    /#10556987

    1) И что вы предлагаете? Что использовать потребителям? Сейчас и через 5 лет?
    3) Третий пункт очень спорен. Возможно если бы так было, то были бы времена DOS до сих пор. И была бы одна операционка на один процессор (семейство).

  6. Sammeronfire
    /#10624392

    В последнее время много статей о безопасности и хакерах. Уже жду hackeracademy.ru или курс от GeekBrains, не фронтендом единым, так сказать.

  7. kraamis
    /#10624390

    Допустим. Но у вас была информация о том, что домен сперли. Вы развели руками — ничем не можем помочь. А помочь можете — у вас есть юротдел.

  8. kraamis
    /#10624388

    Не буду особо оригинален — классический РуЦентр. С саппортом проблем ни разу не было, даже на тупые вопросы отвечали быстро и подробно.

  9. Scaramouche31
    /#10624386

    надеюсь, игра вам понравится :)

  10. Skerrigan
    /#10624382

    Я думаю, что никак — это плата за услуги «интернет судьи».