Запуск проекта с новой технологией или [закрытым] языком

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

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

Вопрос на самом деле, что дополнительные меры были бы Вы брать по сравнению с работой над известным предметом.

Править: И на точке зрения управления, как Вы обработали бы тот случай?

  • Как Вы оцениваете время проекта?
  • Вы предпочитаете присваивать опытному программисту (более неловкий проект), или Вы предпочитаете присваивать младшие (кем бы ни это будет, они должны будут учиться так или иначе)?

Тем не менее тот же вопрос действительно Вы обрабатываете эти проекты по-другому?

57
задан Jla 4 March 2010 в 12:55
поделиться

24 ответа

Мой предпочтительный подход к оценке технологий является использование следующих шагов:

  • Определить обязательные функции Решите, что Наиболее важные функции, которые вам нужны от технологии. Это формирует ваши критерии принятия.

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

  • делает относительное сравнение . Определите небольшое приложение «домашнее животное», которое вы знаете наизнанку. Преимущество этого заключается в том, что вам не нужно думать о требованиях, и вы реализовали его перед использованием технологий, которые вы уже понимаете. Выберите «домашнее животное», которое попадает в основные точки реализации ваших типичных проектов. Например. Вы увидите, что многие разработчики веб-приложений реализуют простой механизм блогаюма как способ оценки или демонстрации технологии. Клиенты Twitter также были всеми яростью недавно.

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

20
ответ дан 4 July 2019 в 22:06
поделиться

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

0
ответ дан 4 July 2019 в 22:06
поделиться

Если вам нужно изучить несколько новых технологий (например, в данный момент, я изучающую структуру объекта + ASP.NET MVC 2), то я предлагаю создать концевую ссылочную реализацию. Попробуйте найти лучший способ создать его, а затем «скопировать» эту ссылку на другие области программы / веб-сайта и т. Д.

1
ответ дан 4 July 2019 в 22:06
поделиться

Обратите внимание, что ваш пример кода безопасен от впрыска SQL, как объяснено Alex, но он небезопасен из , используемых массовых эксплуатации .

-121--1906217-

Может быть, это немного не имеет возможности, но:

  1. Вы должны решить о своем процессе разработки, который является довольно нестандартным языком.

  2. Это будет включать, как будет выполнено ваше тестирование

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

  4. Постарайтесь найти несколько настоятельно рекомендуемых книг и имеющие высокие рейтинги в электронных книжных магазинах

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

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

Энтони

1
ответ дан 4 July 2019 в 22:06
поделиться

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

1
ответ дан 4 July 2019 в 22:06
поделиться

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

1
ответ дан 4 July 2019 в 22:06
поделиться

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

Если на нее ответили и ответ - да.

  1. Примите к сведению, о чем говорилось выше.
  2. Смотрите видео, я учусь намного легче, когда вижу и понимаю, что делает человек.
  3. Используйте документацию.
1
ответ дан 4 July 2019 в 22:06
поделиться

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

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

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

2
ответ дан 4 July 2019 в 22:06
поделиться

Я бы сказал, что это в основном сжимается таким образом:

  • Прочитайте, как / форумы / ... [
  • решить проблему (ведь это, вероятно, почему вы используете то, что вы не знаете)
  • После некоторого времени и знаний накапливается ... Refactor / Rewrite Ваш оригинальный код
2
ответ дан 4 July 2019 в 22:06
поделиться

На моей предыдущей работе у нас есть книжная библиотека.

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

1
ответ дан 4 July 2019 в 22:06
поделиться

Для меня важная вещь, которую нужно помнить, это то, что вам не нужно знать все это сразу.

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

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

В определенный момент они должны встретиться (я надеюсь!), И все это падает на место.

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

2
ответ дан 4 July 2019 в 22:06
поделиться

Практикуя сначала с учебником «Hello World», является очень хорошей отправной точкой.

Более того, чтобы получить большую часть этого, я всегда пытаюсь ответить на вопрос: Почему это делается таким образом, а не так?

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

3
ответ дан 4 July 2019 в 22:06
поделиться

Обычно вы первые исследования ли эта технология подбирает ваш проект вообще.

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

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

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

5
ответ дан 4 July 2019 в 22:06
поделиться

Всегда всегда читайте эквивалентные учебные пособия «Hello World» и переехать оттуда.

3
ответ дан 4 July 2019 в 22:06
поделиться

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

5
ответ дан 4 July 2019 в 22:06
поделиться
[neilb@GONERIL NeilB]$ gcc -Wall -pedantic sw.c
sw.c: In function 'main':
sw.c:11: warning: ISO C forbids casts to union type
sw.c:12: warning: ISO C forbids casts to union type
-121--2415541-

От http://twidroid.com/plugins/

ACTION_SEND намерения Твидроида

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is a sample message via Public Intent"); 
sendIntent.setType("application/twitter");   
startActivity(Intent.createChooser(sendIntent, null)); 
-121--939679-

Разрешить много дополнительного времени!

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

2
ответ дан 4 July 2019 в 22:06
поделиться

Я всегда держу блокнот удобным.

На каждый день, когда я использую новый язык / Framework / API, я надену эту дату дня в качестве заголовка. И при этом я сделаю записку любых интересных причудов, которые я видел в тот день. Причина в том, что я нахожу это, мне часто приходится пересматривать что-то два или три раза, прежде чем он умудит в моей голове. Наличие заметки, чтобы отослать обратно, является серьезной помощью.

10
ответ дан 4 July 2019 в 22:06
поделиться

Читать и учиться - не лучший способ. Любое, что ты склонен забыть, что ты читаешь. Так что я всегда начинаю с маленькой программы что-то вроде мира приветствий и похлопываю себя "Хорошим мальчиком" по плечу просто для подзарядки.
Затем начните просматривать блоги и читать о практиках, которые другие гуру открыли для себя на трудном пути. И запишите это в блокнот под названием технологии или языка. Также напишите короткую строчку о том, почему ссылка сохранена, чтобы при необходимости я мог вернуться обратно. Также поставьте звездочку после одного лайнера, если его что-то связано с проектом, который я должен запустить.
Следующим шагом будет настройка базового проекта, начиная с задания под рукой. В промежутках между ними обращайтесь к языковому документу как можно чаще, чтобы я мог прочитать и попробовать что-нибудь.

0
ответ дан 4 July 2019 в 22:06
поделиться

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

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

1
ответ дан 4 July 2019 в 22:06
поделиться

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

  1. Читайте немного хорошего / рекомендуемого урока или книги по теме.
  2. Начните реализовывать небольшие функциональные фрагменты, относящиеся к вашему приложению / проекту, снизу вверх, в этом новом языке и технологии. Это «исследовательское программирование», вы будете использовать много густочки здесь, и прочитал какой-то код, написанный другими, чтобы понять, как все работает

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

3
ответ дан 4 July 2019 в 22:06
поделиться

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

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

13
ответ дан 4 July 2019 в 22:06
поделиться

Когда дело доходит до языков, есть одна вещь, которую я могу сказать:

Если использование языка на самом деле стоит того, чем весь код, который вы напишете в течение первых 6 месяцев, собирается быть дерьмом, измеренным тем, что Язык может сделать ... Есть важное правило, чтобы придерживаться: не пытайтесь использовать идиомы, которые вы знаете из других стран на этом новом языке, и жалуются, если язык не поддерживает его ... Скорее попытайтесь получить обзор Особенности языка и распространенные идиомы и распространяющиеся идиомы, и пытаются сосредоточиться на выражении решений, используя их ... попробуйте новые подходы, продвигаемые этим языком ... в противном случае вы выбираете, чтобы выбирать языки бессмысленные.

0
ответ дан 4 July 2019 в 22:06
поделиться

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

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

0
ответ дан 4 July 2019 в 22:06
поделиться

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

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

0
ответ дан 4 July 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: