В книгата, която чета напоследък, има хубава теза: учим се да кодим като гледаме чужд код. Всъщност, това е валидно за всички сфери на изкуството (композиция, рисуване, литература) и другите, не изцяло художествени занаяти (архитектура, спорт, компютърни игри). Това което ние, като програмисти, рядко правим, е да се учим от чужд код.
Всъщност, в основата на почти всякакво учене е имитацията. Затова е много хубаво да имате приятели със същите интереси и да виждате как те правят нещата, за да може бързо да събирате познание. Ако нямате тази възможност, трябва сами да преоткривате доброто и лошото, което е по-времеемко. Затова преди няколко месеца се опитах да подръчкам няколко дружки да направят нещо, от което всички ще спечелим. Те обаче упорито ме игнорираха, въпреки че обещаваха че ще пишат и твърдяха, че съм ги вдъхновил. Аз обаче съм инат. И ще пробвам пак.
Освен, че много ще се радвам някой да вдигне предната ръкавица и да разкаже за подхода си към работата, имам още едно предложение – да покажете един пасаж код от който сте (частично) горди и хубаво да разкажете какъв път сте извървяли, за да стигнете до него. Няма значение какво ще бъде – unit тест в Java, десетина реда PHP код които правят нещо по умен начин или убийствено елегантен JavaScript правещ виртуозни неща с браузъра.
Аз ще направя същото. Подготвил съм ви простичък клас за вектор, в който няма нищо сложно (или особено), но който все пак вербализира някои неосъзнати принципи, от които се ръководя като кодя. Съчетавайки полезното с приятното, съм го публикувал в сайта на курса по Python. Господата Бачийски и Димитров пък са се присъединили с коментари. Можете да го намерите тук.
Ако ви е било от минимална полза, моля коментирайте. Или по-добре, направете същото и ми дайте линка.
Е да ама така не се стимулира оригиналност на крайния резултат. Към чужд пример трябва да се прибягва само в ситуация на крайна безисходица и след продължили два месеца отчаяни напъни. Така човек като види примера казва „Аха, много яко!“ и в главата му остава балезнен отпечатък за изживяната агония (заедно с решението).
„В книгата, която чета напоследък…“ А коя е всъщност книгата, която четете напоследък?