graf: (Default)
graf ([personal profile] graf) wrote2010-05-21 05:19 pm

Хочу научиться

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

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

[identity profile] sascha (from livejournal.com) 2010-05-21 01:29 pm (UTC)(link)
Приходи к нам =)
Ну или присмотрись к какому-нибудь большому open-source проекту и задайся целью впилить туда нечто новое.
Рекомендую любые open-source проекты Гугла, там, как правило, всё очень правильно организовано и есть чему научиться, уже тупо читая код.

[identity profile] gliv.livejournal.com 2010-05-21 02:03 pm (UTC)(link)
Согласен в целом. Но это не всегда верно для гугла, но бывает часто верно и для других open-source проектов.
Если есть желание поработать в какой-то определенной тематике, поищи open-source проекты по данному направлени, и вливайся.
Как вариант - присмотрись к развитию самой системы контроля версий subversion. В свое время мне очень нравилось, как там вели переписку, работали с тикетами и т.д. (думаю, они и сейчас сохранили все эти достоинства).

[identity profile] graf-vk.livejournal.com 2010-05-21 02:49 pm (UTC)(link)
Мнээ... Что-то я сомневаюсь, что тупо читая код можно научиться чему-то из того, что упомянуто в посте. Хотя читать грамотный код это дело полезное, не спорю.

[identity profile] sascha (from livejournal.com) 2010-05-21 03:02 pm (UTC)(link)
Ну я не предлагаю только тупо читать код, но правильной организации кода и тестирования даже чтение хорошего кода как-то научит.
После этого необходимый объём дебага упадёт вдесятеро :)

А процессу, естественно, легче всего научиться, участвуя в нём.
Есть ещё общефилософские книжки, типа
http://en.wikipedia.org/wiki/Code_Complete и
http://en.wikipedia.org/wiki/The_Pragmatic_Programmer, тоже полезно почитать. Советую вторую, она меньше, её легче читать и тебе, кажется, будет полезно. :)
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2010-05-21 02:31 pm (UTC)(link)
Варианта ровно три:
— Опенсорс.
— Очень хорошая чисто программистская фирма, известная превосходной организацией труда (Google, Jetbrains, но не Microsoft, например).
— Маленький стартап, желающий превосходно организовать свой труд.

Минус опенсорса: юниттестам вряд ли научат, доведение до продакшн-кволити тоже случается о-очень редко.
Минусы больших фирм: вначале туда надо суметь попасть, а потом суметь оттуда вылезти, если не собираешься там работать всю жизнь.
Минусы маленьких фирм: Пока ты там работать будешь, про свободное время можешь забыть начисто; бóльшую часть придётся изучать сильно самостоятельно, зато команда с удовольствием будет принимать все хорошие нововведения.

Признак хорошего места: использование самых новых и самых совершенных инструментов, либо готовность в скорости постепенно на них перейти. Фирма, которая использует нечто доисторическое, почти гарантированно не то, что ты ищешь. Если там CVS и Багзилла, беги от них. Если SVN — спроси, не собираются ли в скорости перейти на git, Bazaar или Mercurial.

[identity profile] graf-vk.livejournal.com 2010-05-21 02:48 pm (UTC)(link)
По состоянию на данный момент меня видимо может устраивать только опенсорс. Потому что есть институт, школа и универ, которые и так занимают большую часть моего времени. Ну, универ через некоторое время закончится, зато школа расширится...

C опенсорсом тоже сложно, во-первых беглый просмотр проектов на гугл-коде не выявил ничего, что было бы мне интересно вот прям. Во-вторых как раз как там учиться всему вышеперечисленному я понимаю с трудом.
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2010-05-21 02:55 pm (UTC)(link)
> C опенсорсом тоже сложно, во-первых беглый просмотр проектов на гугл-коде не выявил ничего, что было бы мне интересно вот прям. Во-вторых как раз как там учиться всему вышеперечисленному я понимаю с трудом.

За счёт общения с участниками. С гуглокодом у меня опыта нет, а вот участие в мозилле 8-9 лет назад мне в своё время многое дало. Там как-то быстро нашлись люди, с которыми мы тут же начали общаться в аське, работать надо общей задачей, они всё показывали, объясняли, обучали.

[identity profile] gliv.livejournal.com 2010-05-21 06:28 pm (UTC)(link)
> Минус опенсорса: юниттестам вряд ли научат, доведение до продакшн-кволити тоже случается о-очень редко.
Хм, очень интересный вывод. Вы видимо участвовали не в тех опен-сорс проектах? :)
На самом деле все зависит, бывают и хорошие и плохие проекты, нельзя говорить однозначно.

(Anonymous) 2010-05-21 03:21 pm (UTC)(link)
есть книжка Кернигана, Пайка "Практика программирования"(Practice of Programming, Brian W. Kernighan, Rob Pike), где они дают обзор методов тестирования, отладки и другим штукам, которые не включаются в университетские курсы.
ivanaxe: (Default)

[personal profile] ivanaxe 2010-05-21 03:40 pm (UTC)(link)
Приходи к нам! У нас клёво :)

[identity profile] graf-vk.livejournal.com 2010-05-21 04:07 pm (UTC)(link)
А к вам это куда?

Хотя все равно я сейчас не могу пойти даже на part-time.
ivanaxe: (Default)

[personal profile] ivanaxe 2010-05-21 04:51 pm (UTC)(link)
Ответил в гтолк. А ещё там сплошные наши люди :)