Стоит ли изучать фреймворк, чтобы начать проект? - PullRequest
3 голосов
/ 21 июня 2009

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

Есть ли конкретный вариант использования, о котором я должен знать, что делает фреймворки ценными? Или я просто трачу драгоценное время на изучение чего-то, что позже откажусь?

РЕДАКТИРОВАТЬ: изменение названия для ясности. Ой, прости.

Ответы [ 4 ]

3 голосов
/ 21 июня 2009

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

Проблема с этим, хотя мини-специальная среда, которую вы в конечном итоге напишите, будет

  • плохо спроектирован
  • в основном не имеет документации
  • не хватает функций
  • Только люди в вашей команде будут знать, как им пользоваться, и изучение этого будет казаться пустой тратой времени, поскольку оно используется только в вашем проекте
  • Сложно расширить, если вы не знаете исходный код в обратном направлении

Использование фреймворка при запуске проекта с другой стороны:

  • сэкономьте на том времени, которое вы потратили на написание тех служебных функций, которые составляли ваш дополнительный каркас
  • быть хорошо спроектированным
  • есть много документации
  • Многие люди будут знать, как им пользоваться, другие будут охотнее учиться, поскольку увидят, что это будет полезно в будущих проектах
  • Быть очень полным комплектом
  • Легко расширяется (благодаря системе плагинов) для людей, даже если они плохо знают исходный код для этого
  • постоянно обновляться, без каких-либо усилий с вашей стороны

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

2 голосов
/ 21 июня 2009

Мы широко используем Enterprise Library в наших проектах. Люди, которые слишком много жалуются на фреймворки - это те типы, которые хотят построить все с нуля. Наличие надежной структуры, которая обрабатывает аспекты вашей работы (обработка исключений, ведение журналов, кэширование, доступ к данным, внедрение политик, модульное тестирование, внедрение зависимостей, мониторинг и инструментарий, шифрование и т. Д.), Чрезвычайно ценны.

Хорошая структура позволит вам сконцентрироваться на вопросах вашего бизнеса, а не на аспектах вашего приложения, которые ортогональны тому, чего вы на самом деле пытаетесь достичь. Кроме того, это абсолютно бесполезная трата времени на то, чтобы написать эти вещи самостоятельно, когда выдающиеся фреймворки с тысячами человеко-часов находятся в процессе разработки и контроля качества и, возможно, сотни тысяч рабочих часов. Я могу оправдать 100% экономическое обоснование использования EntLib.

2 голосов
/ 21 июня 2009

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

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

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

Посмотрите, есть ли фреймворк, с которым вы можете быстро начать строить. Я думаю, что это стоит.

1 голос
/ 21 июня 2009

Что хорошего в фреймворках?

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

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

Каркасы не равны. Важно выбирать мудро и хорошо. Если вы выберете хороший, вы не откажетесь от него позже.

Вот почему я использую Spring последние пять лет.

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

Во втором чтении я бы сказал, что это звучит так, как будто вы приняли решение. Никто не заставляет вас использовать фреймворк. Во что бы то ни стало, сделайте свой собственный. Развивайте достаточно опыта, чтобы решить для себя.

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

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