• О стиле программирования: Переносить ли скобку?

    TheHorse
    @TheHorse
    JS — программисты, в один голос сказали, что переносить не будут. Для JS появилось исключение, для остальных (С, С++, С#, Delphi, Java) — переносим.
  • Определение нарушения уровня абстракции?

    TheHorse
    @TheHorse
    Крутые определения, одобряю)). Определения уровня абстракции не выводиться, их тех определений, по умолчанию, но это определение мне нравиться, хорошее.

    А последний последние утверждение, как-то обрывает логическую цепочку. Это уже с другого источника?
  • С чего начать?

    TheHorse
    @TheHorse
    Нет у меня детей. Капитулирую, признаю вашу точку зрения.
  • С чего начать?

    TheHorse
    @TheHorse
    Там масса полезного, но без понимания причин, советы могут быть неэффективными. А понимание причин приходит только с опытом.
  • С чего начать?

    TheHorse
    @TheHorse
    Поддерживаю nazarpc, недавно прочитал, полезно было, понял все (ну я так думаю), и понял, что понял бы ничего если бы читал ее лет 5-8 назад.
    Книга явно для тех, кто уже с опытом.
  • Определение нарушения уровня абстракции?

    TheHorse
    @TheHorse
    Офигенно разная у нас терминология, скажу я вам). Где учились, если не секрет? Это для диссертации копаете?

    Допустим мы нашли что класс имеет 10 нарушений абстрагирования с коэффициентами [1, 1, 1, 3, 1, 3, 5, 4, 1, 1], тогда интегральный коэффициент нарушения будет равен сумме этих значений = 21, что и описано в формуле. Да, формальные правило вычисления коэффициента — самое сложное, и не доросла наука еще вообще то.
  • Определение нарушения уровня абстракции?

    TheHorse
    @TheHorse
    Программирование оно в большинстве своем эмпирическое. Дейкстра, Кнут другие формализуют его, делают из него науку, но таковым оно еще пока рановато, чтоб говорить о чем-то научном. И если хотите говорить научно, прежде всего дайте определение уровню абстракции.
  • Определение нарушения уровня абстракции?

    TheHorse
    @TheHorse
    Если getCount приватный, либо унаследованный — все нормально, иначе будет не понятно чего именно это getCount. В абстракции дома, понятие getCount вообще не должно существовать, а в абстракции массива — getCountOfFlat.

    Все равно, в упор я тут не вижу принципа суперпозиции.

    Я не опустил формулировку power, там написано.

    Метрики могут быть разные, общепризнанная не существует (не видел), дельта также зависит от расположения звезд, важности проекта и всего прочего. Она не одна для всех, собственно и метрики могут быть разными для каждого проекта.

    Я не говорил и не думал, что нарушение принципа MVC (парадигмы?) не является нарушением абстрагирования.
  • Определение нарушения уровня абстракции?

    TheHorse
    @TheHorse
    Конечно, я не очень верно выразился. Это величина не абстрактная, а вполне себе реальная, и к ней даже можно метрику пристроить, но она слабо формализована и от того, качественную метрику пристроить очень сложно. Первое приближение такое:

    f(class) = Σ(power) для всех нарушений, где power — критичность нарушения, например целочисленная [1..5] и тогда, просто нужно будет для выделить все возможные нарушения и их критичность.

    Но на это нельзя опираться, это ненаучно (в том варианте в котором я его описал).

    Не понял, причем там суперпозиция… Если класс имеет нормальную абстракцию, то, от того, что вы о нем будете думать, не зависит нарушает он абстракцию или нет. То бишь, достаточно чтобы существовала абстракция, для которой класс не нарушает свой «уровень абстракции», и тогда, класс не нарушает уровень абстракции вообще. Следует сделать оговорку, что если существующая абстракция притянута за уши (например, класс реализует методы отрисовки массива данных, как кольцевой двусвязный список), то класс таки нарушает собственную абстракцию, поскольку в базовом представлении опирается на другую абстракцию…

    В примере с getCount и getCountOfFlat нарушение потому, что getCount относится к абстракциям структур данных, а getCountOfFlat уже к более высоким, уровням абстракции бизнес логики.

    Я, на основе своего скромного опыта, вам скажу, что применять MVC к проекту — неправильно, MVC должен быть только для графического интерфейса, как бы странно это не звучало, но это длинная, толстая, другая тема.

    Без примера, нигде не вижу в ваших MVC моделях, контроллерах нарушений абстрагирования.
  • С чего начать?

    TheHorse
    @TheHorse
    Я не просил. Карму сливают либо просто так, из презрения, либо потому, что считают, что вы должны были лучше ознакомиться с подобными вопросами и начать что-то учить, вместо создания нового вопроса.

    P. S. Я вашу карму не трогал.
  • С чего начать?

    TheHorse
    @TheHorse
    Чтобы программировать игры нужна математика (минимум тригонометрия и метод координат, в идеале — высшая математика, численные методы, мат. анализ, куча всего). Не забывайте учить.
  • С чего начать?

    TheHorse
    @TheHorse
    Я начинал программирование с GameDev на паскале, и весьма успешно начинал. Через 1.5 года после начала, у меня уже был 3D shooter с приличным fps под DOS.
    По С# книгу порекомендовать не могу, выберите что-то популярное. Читайте, делайте примеры и все будет хорошо).
  • Какую тему по информатике выбрать для выпускной работы?

    TheHorse
    @TheHorse
    — матрицы при моделировании ядерного взрыва? Какие такие матрицы? И что значит как их представлять?
  • Какую тему по информатике выбрать для выпускной работы?

    TheHorse
    @TheHorse
    Да, есть. Вы должны уметь искать литературу самостоятельно, иначе исследовательской работой заниматься не получится)
  • Есть ли возможность репортить рекламу в старых постах на хабре?

    TheHorse
    @TheHorse
    Я тут подумал, автор должен нести ответственность за сохранность своих статей, вне зависимости от причин.
  • Есть ли возможность репортить рекламу в старых постах на хабре?

    TheHorse
    @TheHorse
    Время займет оно минут 10, на протяжении 1-5 дней.
    Честь дороже. Тут другая проблема, сложно понять, автор специально так сделал, или это подстава со стороны хостера / сайта / домена.
  • Асинхронный TCP сервер на C#. Что прочитать? Решен

    TheHorse
    @TheHorse
    Мой коммент действителен только для нативных языков в среде WinAPI
  • Асинхронный TCP сервер на C#. Что прочитать? Решен

    TheHorse
    @TheHorse
    Бесконечные циклы — основа основ.
    while (true) {}
    whie (!terminated) используется чуть ли не во всех GUI и сетевых приложениях. И обработчики событий — работают внутри бесконечного цикла. А в основе таких циклов обычно лежит от sleep до waitForMultiplyObjects..., которые минимизируют потребление ресурса процессора.

    Но в общем, вы правы, для C# так делать крайне не желательно, у нужна некая событийная модель.
  • Сайт, способный выдержать высокую нагрузку (?)

    TheHorse
    @TheHorse
    Процесс анализа и разработки эффективной архитектуры, не является преждевременной оптимизацией.