[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 4 метода разработки
Страницы: 1, 2
TMake
У меня в среднем проекты делаются примерно так:
- получаю задачу, приступаю к ее выполнению в форме А
- под конец, как обычно появляются изменения, и доделки выполняются в форме В
- При этом некоторые возможности забыли и они скрываются в форме Г
- В следствии чего все дебаг исправления делаются в виде Б

П.С. Рефакторинг? не не слышал.
Игорь_Vasinsky
все такие правильные))

у меня все кроме В

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
paul85
чуть-чуть не понял, относительно картинки Б. Ну первая - понятно - сделал на совесть. В - говнокод. Г - объявил баг фичей и не паришься.

Лично я так:
А - всегда стремлюсь.
В - если скрипт одноразовый (миграция, проверка библиотеки и прочая никому ненужная в дальнейшем хрень). Исключительно в целях экономии времени.
Г - крайне редко в случае слишком скромного бюджета и нахального заказчика. Своего рода мелкая пакость.

Что же такое все-таки Б!? "Как получилось - сам не понял!" ? (КиШ).
inpost
paul85
А) Переписал по новой.

Б) Исправил баги, залатал дыру, дописать лишние проверки в коде не меняя логику и архитектуру.

В) Модифицировал через посредника. К примеру в index.php добавил различный функционал следующего вида: "если зашел с мобилки - переадресация на сайт мобилки". То есть в архитектуру встроил новый код, когда как А) подразумевает переписать контроллеры, а Б) в существующий контроллер добавить лишние проверки, а В) отдельно выделить код. Банальный пример, если в существующий рабочий сайт поставить проверку с переадресацией на JavaScript в onload.

Г) К примеру при определённых ситуациях выходит ошибка, даже самая простая вида "неопределённая переменная" в случаях, когда открываешь страницу пользователя, а его страница заблокирована, отсюда некоторых переменных в ВИД не поступает, а там пытаются вывести в META=DESCRIPTION. К примеру раньше была: "Анкета №10, Мария, 27 лет, Днепропетровск". А заблоченная не делает выборку из БД, так как записи, где girl_id = 10 AND `active` = 1 - НЕТ. Можно переписать функционал, можно прилепить дополнительные проверки, а можно влепить собаку, тогда в META=DESCRIPTION будет просто записано: "Анкета №10", без имени и возраста. Уникальность description осталось, то есть для ЧПУ мы не нарушили индивидуальность каждой страницы, а вот для себя вместо применения более долгих подходов для генерации нового текста или исправления нынешних контроллеров -> применили подавление ошибки через собаку. Особенно когда заданий очень много, можно влепить некое "временное решение" до хороших времён, а тем временем заняться более актуальными делами, такими как улучшение работы чата путём внедрения нового функционала. (Пример брал как любая соц.сеть).

________________________
Пока анализировал картинку пришел к мнению, что все 4 метода не просто используются мною в практике, а даже необходимы в каждой отличной ситуаций. Но это лишь ИМХО.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
paul85
inpost, теперь я понял, спасибо! Чего-то решил, что речь о написании проекта с нуля... Тогда да, я наверное все использую тоже.
glock18
Да что вы, госпате, неужто картинки можно не так понять:

А) Переписал по новой.
A) Сел за задачу = подумал, прикинул решение в голове, нашел его, и успешно применил.

Обычно про этот подход говорят "2 часа подумать, 5 минут делать". Вовсе не значит переписывание по-новой - ни в коем случае.

Цитата (inpost @ 12.10.2013 - 03:01)
Б) Исправил баги, залатал дыру, дописать лишние проверки в коде не меняя логику и архитектуру.

Если это иными словам - исправить симптомы проблемы (не исправив саму проблему, но исправив лишь ее проявление). Картинка прекрасно показывает сам процесс laugh.gif

Цитата
В) Модифицировал через посредника. К примеру в index.php добавил различный функционал следующего вида: "если зашел с мобилки - переадресация на сайт мобилки"

Чего-то сплошь какие-то примеры частные. Не очень то подходящие, на мой взгляд. Все 4 картинки показывают решение одной и той же задачи. В) - это типичная разработка по принципу "меньше думать, больше кодить". Обычно противопоставляется А), поскольку А) позволяет код сохранить в порядке и чистоте ввиду основательности подхода, а В) своей стихийностью и непродуманностью порождает костыли в огромных количествах, делая в дальнейшем отладку/правку соответствующего кода все сложнее и сложнее.

Г) - этот мне меньше всех понятен, но, думаю, inpost привел неплохой пример, отражающий суть так или иначе. Похоже чем-то на Б), но тут даже симптомы не исправляются, а просто прячутся.
Invis1ble
О, я смотрю каждый трактует картинки по-своему... Так надо было тему начинать с того, кто как их интерпретирует, а не кто как пишет код laugh.gif laugh.gif

PS. Лично я воспринимаю Б и В как вариациии одного типа кода - некрасивое/неоптимальное, но рабочее и малозатратное по времени разработки решение задачи.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

glock18
Цитата (Invis1ble @ 12.10.2013 - 06:26)
О, я смотрю каждый трактует картинки по-своему... Так надо было тему начинать с того, кто как их интерпретирует, а не кто как пишет код laugh.gif laugh.gif

PS. Лично я воспринимаю Б и В как вариациии одного типа кода - некрасивое/неоптимальное, но рабочее и малозатратное по времени разработки решение задачи.

это Б, но не В wink.gif

В может занять времени больше, чем А. Главное в нем не время, а сам подход бездумный. И кстати очень многие, с кем я работал, так и делают
DedMorozzz
Насчёт того, кто как понял:
А. Нашел баг. Разобрал Почему он возникает. Исправил
Б. Нашел баг. Исправил именно этот заведённый(найденый) баг, не вдаваясь особо почему он появился и появятся ли новые
В. Нашел баг. Начинаешь исправлять, вроде всё сделал, а через месяц сам не сможешь понять, что и для чего там сделано
Г. Нашел баг. Убедил тестера(заказчика..) что или это нормально или по другому сделать просто невозможно

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.