All streams
Search
Write a publication
Pull to refresh
44
0

User

Send message
Поддерживаю. Избрал этот же путь для нескольких приложений, включая генератор отчетов и модульный вики-рендерер. Неразумно заставлять программиста складывать весь код в один каталог, гораздо удобнее определять классы в произвольных местах и цеплять их к менеджеру, которым может быть и собственно родительский класс. Для автоматической регистрации классов можно использовать декораторы, метаклассы и т.д. по вкусу.
А не проще ли:
а) придумать хорошие названия моделям,
б) разбить модели по модулям
и спокойно обозревать всё это добро без каких-либо доп. инструментов?

Пункт «а», наверно, самый важный. Иногда название ну никак не придумывается. Это явный признак плохого дизайна. Когда названия ясны и точны, вопросов о структуре и связях не возникает и схемы практически не нужны.
абсолютно излишнее.
UML — очень полезная штука, но генерировать повторяющийся код — серьезная ошибка. UML следует рисовать отдельно (лучше всего на бумажке:) или получать путем анализа существующего кода. Хорошо, если вручную: лучше разберетесь в коде и заодно поймете, что в нем надо изменить. Если же вручную разбираться в коде мучительно — значит, код ужасен и, вероятно, сгенерирован кем-то из UML.
В идеале — да, надо сотрудничать. На практике часто сначала пишется программа (на английском и, возможно, с переводом на второй язык, родной для автора), а затем она постепенно обрастает переводами. Чтобы из-за очередного перевода не пришлось править код программы, разумно просто использовать словари во всех случаях, когда переменных несколько.
Еще можно добавить, что следующие варианты равнозначны:

print _("%s had a little %s") % (name, animal)
print _("%(name)s had a little %(animal)s") % dict(name=name, animal=animal)

При этом первый вариант сломается в некоторых языках, если порядок слов меняется из-за особенностей грамматики; второй же вариант в худшем случае будет выглядеть коряво, но смысл сохранится.
Или так:

class Movable:    
    @property
    def speed(self):
        raise NotImplementedError
    def move(self):
        raise NotImplementedError

Преимущество — используются только стандартные средства.
Недостаток — ошибка вываливается при обращении к атрибуту, а не на этапе создания экземпляра.
в таком месте очень хочется работать, чтобы не потерять место!
мм, авиасимулятор бы туда
да они и стола не видели, похоже. даже в зоопарке.
одна монгольская девушка спрашивала: «как вы не путаетесь? вы же все на одно лицо!»
ну не всё тут отговорки. напр., adsl у меня только в опензюсе удобно настраивался/управлялся через kinternet, в кубунте же (джонти) я вспомнил все нехорошие слова, прежде чем настроил всё это добро, да еще чтобы не надо было каждый раз писать в консоли pon. NetworkManager (об апплете коего вы, предположительно, говорите) просто не работает с ppp.
сменил провайдера — стало еще веселее. пока использую гномовскую утилиту настройки сети для вкл/выкл.
посмотрим, как скоро пофиксят/допишут NM.
ога.
знаю человека, который пробовал линукс и вернулся на венду, потому что оно «некрасивое».
и без толку ему объяснять, что надо чууууть-чууууть настроить, чтобы было чудесно.
ну не хочет он настраивать. и отнюдь не глуп при том. просто ему лень.
почему, your motherboard, нельзя взять и сделать СРАЗУ симпатично? зачем это черное жуткое с бликом, над ним какой-то размазанный ярко-голубой фон и поверх всего вдруг серая пластмасса? ну что за чушь… нормальному человеку из коробки наверняка хотелось бы спокойные тона, единую тему виджетов по всей системе (или для плазмы что-то ненавязчивое вроде Glass) и пару полезных плазмоидов на рабочем столе (мейби домашний каталог, часы, погода).
от скринов тошно.

сказал бы, что даже пробовать эти ваши кеды не буду, если бы не перешел в свое время с KDE 3.5 на KDE 4.0-svn и не знал, что на самом деле там всё в порядке, просто надо после установки сразу сменить несколько настроек.
Был опыт верстки макетов, нарисованных дизайнерами, не умеющими верстать.
С тех пор я программист.
Ураа, нам дали рюшечку! Теперь будем все счастливые. Ну не то это, когда не было отмашки сверху; как-то не работалось программистами. Хотелось стать шахтером, ребенком, женщиной, советской армией, независимостью, городом, великомучеником, победой, дедом морозом… а теперь-то да, теперь мы программисты и звучим гордо, теперь Наверху про нас слышали и даже ответили, теперь у нас появился живой интерес к работе, а то не было ну воще ни капли. Теперь мы готовы даже бесплатно работать, раз нам дали Рюшечку. Но, товарищи, нам есть, куда стремиться, да!!! Новые горизонты виднеются прямо по курсу Центробанка. Будем требовать, чтобы нам проставили памятник. И чтобы на памятнике было написано «Неизвестному программисту». И чтобы лавровый венок… к нему… положили…
«Уже неплохо, но хочеться хочется большего»
mutables в определении функции — зло
YAML, JSON.
а XML не для человеков.
тот, кто в приемлемые сроки реализовал все требования (включая скорость, масштабируемость и удобство).
в xp разумный подход к метрикам: делаем эстимейты, длину итерации не меняем, в итоге постепенно накапливается статистика нашей реальной скорости работы.

прозрачность, открытость и прослеживаемость одновременно и стимулируют участников, и предотвращают бессмысленную гонку на истощение.

а вот такие грубые методы, как описанный, никогда не дают стабильного и предсказуемого результата. вернее, можно предположить, что будет вначале взрывной рост, а потом обвал либо в связи с достижением верхней границы возможностей и последующей демотивацией, либо в связи с проседанием качества.

к сожалению, многие руководители пытаются выжать из работников всё, не понимая, что выигрыш иллюзорен, а нечестная игра наносит урон мотивации, который вряд ли можно возместить премиями.

Information

Rating
Does not participate
Location
Россия
Registered
Activity