Какой хороший проект для изучения современных моделей и практик? - PullRequest
6 голосов
/ 24 сентября 2008

Я пытаюсь научить себя, как использовать Современные шаблоны персистентности (OR / M, репозиторий и т. Д.) И методы разработки (TDD и т. Д.).

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

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

Ответы [ 5 ]

13 голосов
/ 25 сентября 2008

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

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

Посмотрите на их текущий веб-сайт. Построй им что-нибудь получше. Пожертвуйте это им.

3 голосов
/ 24 сентября 2008

Я бы сказал, что отличный способ - начать с примера проекта базового фреймворка, который вы хотите изучить, или создать свое приложение. Используя Spring в качестве примера, у них есть отличное веб-приложение «зоомагазин», которое вы можете загрузить и которое показывает, как использовать множество различных частей фреймворка рекомендованным способом. Оттуда вы можете расширить его: включить его в систему управления версиями, запустить автоматические сборки, добавить свои собственные модульные тесты или дополнения для первых тестов, поменять местами свой собственный слой ORM, попробовать разные слои представления и т. Д.

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

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

1 голос
/ 20 октября 2008

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

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

Например, я использую EntLib в DAL, но завтра, когда мне удастся изучить LINQ, я заменю EntLib на LINQ. Вероятно, LINQ для сущностей. Затем я показал этот метод DAL, используя обычный WCF. Затем я узнал, как реализовать WebHttpBinding, и показал мой сервис WCF с использованием JSON. Теперь я планирую изучать MS MVC и jQuery и делать там кое-что из ASP.Net/AJAX.

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

Удачи !!!

1 голос
/ 25 сентября 2008

Как насчет веб-сайта, где люди могут задавать технические вопросы и получать ответы от коллективного экспертного сообщества в интернете?

Я думаю, что наиболее важным аспектом проекта для домашних животных является тот факт, что он ДОЛЖЕН быть тем, о чем вы заботитесь и будете использовать сами. Если вы используете это, и это полезно для вас, то другие найдут то же самое. Если вы работаете над чем-то, потому что кто-то предложил это, то это становится работой.

Чтобы поиграть с TDD, я создал парсер аргументов командной строки. Я пишу много консольных приложений, и это было чем-то полезным, что меня заинтересовало, и мне было весело. Там уже есть другие, но это было не совсем для меня. Я тоже собирался писать об этом в блоге, но другим моим любимым проектом для игры с шаблонами и архитектурой была блог-платформа «сделано до смерти» ... и блог о создании платформы блогов с использованием создаваемой вами платформы блогов ... это сложно.

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

1 голос
/ 24 сентября 2008

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

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

Как французский писатель сказал:

«Сидящий гений всегда будет уходить гораздо дальше, чем ходячий тупик».

...