@totudub

Скорость или лучшие практики?

Не так давно начал заниматься программированием. Изучив основы php взялся за yii2 фреймворк, параллельно читая лучше практики по программированию.
Столкнулся с такой проблемой, что если следовать всем лучшим практикам (SOLID, TDD, DDD и т.д.), то приложение будет гораздо медленнее разрабатываться, и менее производительным, чем если сделать все по-простому.
Собственно вопрос: Как быть новичку? Следовать лучшим практикам в надежде что кто-то оценит долгий и упорный труд, или делать быстро но с говнокодом?
  • Вопрос задан
  • 656 просмотров
Пригласить эксперта
Ответы на вопрос 5
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
Если приложение маленькое, то говнокод оправдан. Если приложение будет разрастаться, то говнокод со временем будет медленнее и уж точно сложнее поддерживаем и масштабируем.
Ответ написан
Akdmeh
@Akdmeh
PHP, Yii2, Music
Находите баланс между этим. Иногда можно не слишком портабельный код сделать и потом его рефакторить, чем полгода делать сайт, который рассчитан на 10 серверов, репликацию и тому подобное, но в конце концов его не запустить никогда.
В Yii2 уже много идей заложены для хорошей архитектуры. Придерживайтесь правила наследования классов, не выносить логику в View, а View в модель. Разграничивайте четче Controller и Model, и тогда все будет хорошо для начала. А с опытом уже сможете улучшать качество кода.
Ответ написан
Комментировать
Olej
@Olej
инженер, программист, преподаватель
Следовать лучшим практикам в надежде что кто-то оценит долгий и упорный труд, или делать быстро но с говнокодом?

Код нужно писать хорошо, во всех случаях ... малое приложение, большой проект...
И не в надежде, что "кто-то оценит" - начхать.
Хорошо (дисциплинировано) написанный код всегда содержит меньше скрытых ошибок. Вам же потом нд ними корячиться...

Но, с другой стороны, всегда имейте в уме, что 90% того, что вам впаривают как "лучшие практики" - это "лапша на уши", все эти Спольски, Мак-Конелы и ваши непосредственные начальники и обучальщики ;-) ... В большинстве своём люди эти блюдут свой интерес и свой гэшефт.
Выработайте свой собственный свод правил, и ему следуйте.
Ответ написан
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
А я таки понял о чем он. Проблема куда глобальнее. Любые правила созданы теми, кто с этого имеет гешефт. И далеко не все из них служат идее всеобщей благодати. Так например, первейшее правило "не уби" из жизненной книги - он как бы выгодно государству например, нужно меньше ресурсов вкладывать в правохранительные органы. с другой стороны - если завалить кого - у тебя может в кошельке пополнится - так что для тебя оно не выгодно. в целом для выживания вида - может быть необходимо, с другой стороны - тигры там разные друг друга испокон веков херачат и не вымерли же.

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

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

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

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

Что опять же более глобально, чем просто на работе. Так и в жизни - кто чему кого, тот того и так. Просто в один прекрасный момент захочется безопасную нычку, а ее не будет. И тогда мы чтобы так сильно не болело назовем это кармой и уйдем читать философию.
Ответ написан
Комментировать
bagiroff777
@bagiroff777
Веб-разработчик
Пока ваши разработки являются некоммерческими, пишите как можно лучше, чтобы потом легче было доводить (зачастую, даже не свой) код до ума.
При коммерческой же разработке будет получаться как всегда - после формирования требований делается рабочий прототип (го..нокод, то есть), а потом допиливается до самого дедлайна, т.е. пока не отберут. Именно этот период является шансом довести код до ума.

П.С.
Тоже сейчас пишу на Yii2, стараюсь писать в стиле этого фреймворка и, знаете, получается пригоже)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы