Правила раздела "Обсуждаем новые идеи"
Цели этого раздела Идеи, реализовать которые в состоянии один человек,
рождаются редко. Чаще всего Вы какое-то время пыхтите по вечерам за компом,
доходите до какой-то критической точки и бросаете код, размеченный
комментариями "TODO", в архив, в надежде вернуться к нему, когда будет время.
Возможно даже, что у Вас возникала мысль поделиться идеей с друзьями - вместе
веселее и легче... Но, к сожалению, найти единомышленников со свободным
временем не так то и просто!
С другой стороны, если мне не изменяет память, - все
начинающие программисты испытывают острую нехватку опыта.
Даже самому талантливому студенту необходимо какое-то время
поработать над реальными проектами, прежде чем он станет специалистом. А где
взять этот опыт, если без него не берут на работу?
"Наши Проекты" и этот раздел в частности - это возможность
реализовать Ваши идеи коллективно и приобрести опыт работы в команде.
Как работать с разделом. Для того чтобы начать проект Вам необходимо всего-навсего
завести тему в Нашем разделе.
Самое главное - доходчиво объяснить, что именно Вы хотите
сделать. Если у Вас уже имеются какие-то наработки - опишите их. Укажите, на
какой стадии развития они находятся, дайте ссылку, по которой можно найти сам
продукт и его исходники или приатачте архив к своему сообщению.
К сожалению, на данный момент (по техническим причинам
)
отсутствует возможность внедрения на сайте такой популярной
системы ведения проектов, как SourceForge, или его аналогов. Надеюсь, что в
будущем эта проблема будет решена.
Рекомендации. * Секрет эффективной работы в команде - ведение документации.
Я не навязываю Вам, как работать над проектами, а просто рекомендую
документировать результаты обсуждений. Документацию Вы можете публиковать в
теме проекта, так же рекомендую добавлять их в архив с исходниками.
Какие документы могут быть полезными? Вот очень краткое
описание.
*
Описание идеи,- это то с чего начинаются любые проекты.
*
Спецификация проекта, должна включать подробное описание:
- целей (где это можно применить, как это должно выглядеть),
- стадий развития (что Вы хотите сделать в первую очередь, а что отложить на
будущее)
- соглашений оформления (стиль, в котором должен быть написан код, как именовать
функции, переменные, типы, классы, константы, etc., расположение и стиль имён
файлов);
- архитектуры (как Вы собираетесь реализовать ту или иную функцию, как будут
взаимодействовать различные части программы, что Вы собираетесь использовать
для достижения целей, аргументация выбора)
- распределения обязанностей (кто будет коммитером кода - "вносителем" изменений
, кто и какую часть программы берёт на себя)
- да и много чего ещё
*
Change Log, должен содержать список изменений, внесённых в новую
версию. Каждое изменение лучше всего маркировать уникальным способом - либо
порядковым номером, начиная с самой первой версии, либо примерно так: [версия
продукта].[номер изменения]. Это позволит быстро найти в форуме все обсуждения,
связанные с конкретной проблемой.
*
Known Issues - проблемы новой версии, которые известны разработчикам.
Между прочим - очень полезная штука! Она избавит Вас от ответов на массу
"глупых" (с Вашей точки зрения) вопросов! Ведь вряд ли у пользователя есть
телепатические способности
*
Bug Report, - список ошибок, найденных в новой версии. Ошибкам тоже
следует приписывать номерки.
Вы в любом случае будете обсуждать большинство из этих
вопросов. Мой Вам совет - периодически сводить все принятые решения в цельный
документ. Что можно и что нельзя! Разрешено обсуждать проекты только с открытым кодом. Если
Вы хотите протестировать Ваш любимый бинарник, то на нашем форуме для этого
есть раздел "
Тестирование программ".
Запрещена реклама (для этого есть раздел "
Работа").
Строжайше запрещено флэймить (сдерживайте свои эмоции при обсуждении, если
приспичило - для этого есть "
Многошум").
Любые "наезды" на участников обсуждения или на какой-либо проект будут караться
с особой строгостью.
В дополнение к Правилам - настоятельные советы (кто не спрятался, я не виноват ) * Одна из самых больших проблем всех хороших начинаний не отсутствие
фундаментальных знаний, а не знание уже существующих решений. Настоятельный
совет №1:
- Прежде чем затевать спор, подготовьтесь и ознакомьтесь
хорошенько с его предметом.
* В процессе спора участники часто ссылаются на информацию из внешних источников.
Настоятельный совет №2:
- Не игнорируйте подобные ссылки. Будьте внимательны к
собеседникам.
* В споре могут участвовать люди разной компетенции. Настоятельные советы №3:
- Если Вы чего-то не поняли из объяснений собеседника,
поинтересуйтесь у него, что он имел в виду. Никогда не переходите на личности.
В крайнем случае - зовите Модератора. Не будьте самоуверенны, компетентности
может не хватать у Вас
* Многие проще выражают свои мысли на языках программирования. В разговорной речи
отсутствуют многие операторы и идиомы
Настоятельный совет №4:
- Если Вас не понимают, попробуйте подкрепить свои слова кодом. Не
обязательно своим.
PS: И помните! Только в процессе реальной работы возникают
реальные вопросы, приобретается реальный опыт, и рождаются идеи. А в процессе
работы коллективной у Вас появляется гораздо больше шансов получить ответы,
изучить чужие подходы и отточить свои.
Модератор раздела "Обсуждаем новые идеи"
Shaman