LINUX.ORG.RU

Дает ли чтение большого open-source проекта level-up к программированию?


0

1

Активно использую одну библиотеку в ~5000 LOC. До недавнего времени не заглядывал в ее исходный код, а только читал документацию. Но было свободное время и детально ее изучил. На это мне потребовалось 3 дня, чтобы в ней разобраться.

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

Но как быть с технологиями где намного больше строк кода? К примеру, хочется понять что внутри и MySQL, Postgres и regular expressions. Но с таким темпом как у меня, лет десять, как минимум.

В общем, вопрос - как не быть code monkey или стать программистом бесплатно без смс. В смысле, делимся историями успехов, что вам конкретно дало чтение исходников большого open-source проекта?

p.s. можете не кидать в меня камнями - сам признаюсь, что я code monkey, и мне реально стыдно за тот код, что я писал. Лучше, поделитесь историями успеха, о том как code-monkey вырос во что-то большее. Спасибо.

Ответ на: комментарий от true_admin

чтение хорошего кода просветляет


чтение хорошего кода усыпляет, а просветляет - его _понимание_ ;)

metawishmaster ★★★★★
()

Читая сорцы и документацию, ты, как минимум, знакомишься со стилем:
1) кодинга;
2) написания документации.

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

blexey ★★★★★
()

тренируйтесь в чтении этим «набьете руку»

mysql,postgress,linux,etc не такие уж и большие проекты
с легкостью читаются за одну чашку чая

anonymous
()

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

staseg ★★★★★
()

Level up не дает, но уровень программиста повышает и помогает в основной работе.

// читаю регулярно исходники Python и PHP проектов

resurtm ★★★
()

Чтение кода влияет на ваши навыки программиста и стиль как чтение книг влияет на навыки и стиль писателя.

buddhist ★★★★★
()
Ответ на: комментарий от Jetty

Хороший код

часть ядра

Вероятно, та, в которой кроется 12309.

buddhist ★★★★★
()

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

winlook38 ★★
()

Дает ли ?

конечно , так же как просмотр порно увеличивает писюн и даёт плюс сколько то там к способности ублажать партнёршу за 3 - 5 минут.

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

ukr_unix_user ★★★★
()

Лучше, поделитесь историями успеха, о том как code-monkey
вырос во что-то большее

Просто любопытно, найдется ли кто-нибудь, кто будет утверждать, что он он не «code-monkey», а что-то Большее.

archimag ★★★
()
Ответ на: комментарий от anonymous

Это я промахнулся, хотел на пост ТС ответить.

trex6 ★★★★★
()
Ответ на: комментарий от archimag

Просто любопытно, найдется ли кто-нибудь, кто будет утверждать, что он он не «code-monkey», а что-то Большее.

Code-monkey — оценка относительная. Дается, чаще всего, относительно себя.

blexey ★★★★★
()
Ответ на: комментарий от archimag

Явно не на ЛОРе :))

Ну, я имел ввиду субъективное разделение кодеров на лучше/хуже относительно себя.

blexey ★★★★★
()
Ответ на: комментарий от buddhist

Может это неожиданно для вас, но умение строить мысли
и рассуждения к грамматике не относится.

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

archimag ★★★
()
Ответ на: комментарий от archimag

Вы о чем? Я не о том, что можно правильно строить мысли, нарушая правила грамматики, а о том, что «умение мыслить и рассуждать» <> «правилам грамматики», и о том, что читая книги учишься не столько грамотно писать, сколько грамотно рассуждать.

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

«умение мыслить и рассуждать» <> «правилам грамматики», и о том,
что читая книги учишься не столько грамотно писать, сколько
грамотно рассуждать

Отлично, надо было сразу именно так и говорить :)

archimag ★★★
()
Ответ на: комментарий от anonymous

тренируйтесь в чтении этим «набьете руку»

Ггг. Тренируйтесь в просмотре видеороликов бокса, боев без правил и трюков паркура. Не только набьете, еще и сломаете все подряд... себе. А лучше всего, тренируйтесь в просмотре практической стрельбы из короткоствола - шанс выстрелить в ногу многократно повысится.

slackwarrior ★★★★★
()
Ответ на: комментарий от buddhist

читая книги учишься не столько грамотно писать

Еще как учишься грамотно писать! Особенно если читать начнешь гораздо раньше, чем писать.

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

unsigned ★★★★
()
Ответ на: комментарий от archimag

Чтоб научиться писать тексты, надо писать тексты (учиться у мастеров, конечно, но писать...) А еще больше - вычекивать и переписывать. Простое чтение тебя Толстоевским не сделает, как ты ни тужься. А теперь возрази, моралофаг.

slackwarrior ★★★★★
()
Ответ на: комментарий от unsigned

Ключевое слово профессиональные. Уже имеющие скилл выше базового :) Умеющие падать, держать удар и со своим поставленным ударом.

slackwarrior ★★★★★
()

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

Т.е. не нужно слепо брать и подражать всему, что там есть. Ну если только вы совсем новичок.

А вот разбираться, почему да отчего - полезно.

Legioner ★★★★★
()
Ответ на: комментарий от unsigned

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

Исключительно для стратегического планирования боя, который в 99% случаев идёт лесом после первого размена.

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

iBliss
()
Ответ на: комментарий от unsigned

Больше скажу — все спортсмены смотрят видеозаписи чужих выступлений (знаю по себе).

buddhist ★★★★★
()
Ответ на: комментарий от iBliss

Исключительно для стратегического планирования

Для этого же нужно читать и код. И книги.

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

А Толстой очень много читал, и высоко оценивал влияние книг на себя. google://любимые книги Толстого.

unsigned ★★★★
()
Ответ на: комментарий от unsigned

Для этого же нужно читать и код. И книги.

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

Рекурсия в понимании Омара Хайамыча: цитирование мудрецов - свидетельство недалёкости ума.

iBliss
()
Ответ на: комментарий от iBliss

Изучать надо основы

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

Осознанное, осторожное заимствование ничем не отличается от применения стандартного алгоритма. А время экономится. На то и существует open-source.

Твоя рекурсия доказывает неверность утверждения )

unsigned ★★★★
()
Ответ на: комментарий от buddhist

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

ms-dos32
()
Ответ на: комментарий от Jetty

Какое нах ядро?

Читать надо TeX и Metafont.

anonymous
()
Ответ на: комментарий от iBliss

Да-да, только вот почему-то в литинституте Войну и мир не просто читают, а каждый абзац по полочкам раскладывают.

anonymous
()
Ответ на: комментарий от iBliss

Чтение войны и мира не даст левел-ап к прозаике

оно даст левел-ап к орфографии и пунктуации, хочешь ты того или нет

anonymous
()
Ответ на: комментарий от marvin_yorke

Плюсую. Для того, чтобы писать хороший код для начала надо знать 1) математику; 2) язык; 3) сферу, в которой применяешь язык.

anonymous
()
Ответ на: комментарий от ms-dos32

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

Человек может запомнить много умных мыслей, но так и не осознать/понять их. Полезна только та информация, которую человек понимает. Вот скажем тебя в инст-е учили Visua Basic, который ты не осилил и так и не понял почему тебя ему учили (я не тот анонимус, который тебя гнобил - читал ваш срач и за тебя было стыдно). А тебе дали Цпп. Человек не осиливший VB не может осилить Цпп (VB - объективно проще/примитивнее; это как если бы ты не осилил CL и взялся за Haskell со словами: «Lisp - уныл как ВБ! На нем ничего кроме скриптиков для быдло-емакса писать нельзя ! А вот Haskell язык, да»). Так, что ТС - не слушай ms-dos32'a! Читай для начала фундаментальную литературу по профессии. А то, как заметили, проект могут писать такие же «программисты» как данный субъект.

Про аргументы про спортсменов и тп. - смотрят на ТАКТИКУ! Технике можно научиться только если ты сам экстра-класса спец и видишь все, даже самые неразличимые нюансы. Ты явно не такой спец в программировании.

anonymous
()
Ответ на: комментарий от archimag

Просто любопытно, найдется ли кто-нибудь, кто будет утверждать, что он он не «code-monkey», а что-то Большее

А нахер метать бисер перед свиньями? (c)

fang
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.