Autor Zpráva
Su Shi
Profil
Hezký den!
Nedávno jsem založil diskuse na téma, co si programátoři myslí. Získal jsem tím úžasnou pokladnici inspirujících názorů, za kterou jsem moc vděčný. Pokud byste je chtěli vidět, jsou k dispozici zde:
http://diskuse.jakpsatweb.cz/?action=vthread&forum=17&topic=107243
http://forum.builder.cz/read.php?20,3257845

Nicméně, měl bych ještě několik zajímavých otázek, které mi přijdou velmi důležité a byl bych moc rád, kdybych na ně znal Váš cenný názor!

1. Myslíte si, že je absolutní nutnost snažit se psát všechen kód z hlavy? Má situace je taková, že jsem pochopil veškerý řádek kódu, který v projektu používám (nepočítám třídy Zend Frameworku) a teď váhám nad tím, co umět napsat za každou cenu zpaměti a co ne. Podle mě je ideální zapamatovat si věci, které používám často a u ostatních vědět, kde je najdu. Například nevím, proč bych se měl učit z paměti napsat hlavičku html dokumentu, kterou použiji jednou za čas, atd. Co si o tom myslíte?
2. Jak to děláte, když se snažíte nějaký kód zapamatovat? Píšete ho tak dlouho na různých místech, dokud se Vám to nevryje do paměti a nebo na to máte nějakou fintu? Co třeba podívat se na cizí kód, pochopit ho, napsat si do svého projektu pseudokód a potom to podle něj naprogramovat? Nebo znáte lepší řešení?
3. Jak jste bojovali / bojujete s angličtinou? Dejme tomu, že potřebujete přečíst něco z anglického manuálu a neznáte všechny slovíčka v něm používané. Logicky by proto bylo vhodné si je přeložit. Na to používám plugin do Firefoxu s názvem Quick Translator. Označím si text a vyskočí na mě obdélníček s přeloženým textem. Taky jsem používal google.translate.com na celé stránky s tím, že jsem měl zobrazovanou stránku v angličtině a když mi něco nebylo jasné, tak jsem najel na danou větu a vyskočil mi český překlad v ,,bílém balónku". Bohužel, teď mi už nic nevyskakuje a nevím, proč. Kdybyste věděli o lepším způsobu překladu, dejte vědět. Nicméně, další problém - chápat naprosto přesně každé slovíčko a celou větu a nebo stačí znát jen přibližný smysl věty a třeba koukat hlavně na příklady s kódem? Podle mě je ideální snažit se znát všechna slovíčka, abych je mohl použít v budoucnu. Řešíte to taky tak?
4. Jak se učíte věci, které nepotřebujete znát do hloubky? Já osobně na to mám takovou teorii :) Všechen text, co se učíme, je jako na wikipedii. Většinou plný odkazů na další pojmy. Když chci něčemu dobře porozumět (třeba programování), tak si budu vyhledávat každý tento pojem. Pokud mi ale stačí naučit se něco jen povrchně (zbytečné předměty ve škole, atd.), tak si nebudu vyhledávat všechny tyto detaily a bude mi stačit jen třeba hlavní myšlenka a hlavní body tématu. Nebo to děláte jinak? :)
5. Jak studujete cizí kód? Dejme tomu, že byste dostali nějaký velký projekt a snažili se jej pochopit. Uděláte si kafíčko, mrknete se na kód a je Vám vše jasné? Nebo spustíte debugger, klikáte na stránky v prohlížeči a díváte se, co se děje?
6. Jak často studujete cizí kódy a dáváte přednost studiu cizích kódů před knihami?
7. Dodržujete striktně zásadu: Nepsat nic dvakrát?
8. Je podle Vás rozumné začít se učit jQuery, když ještě neznám skvěle PHP, OOP, Zend Framework a MySQL?
9. Na co bych se měl sám sebe ptát, když procházím svůj kód a snažím se přijít na to, co by šlo udělat lépe? Napadlo mě toto pořadí:
a. Co to tady mám a jak to funguje?
b. Funguje to dobře? Pokud ne, vylepším to.
c. Nemám v kódu metody, které řeší podobnou věc? Nemohl bych je spojit do jedné univerzální?
d. Nemohl bych některé metody řešící nějakou věc spojit do společné třídy?
10. Co nejtěžšího Vás ve vaší programátorské kariéře potkalo?


Díky moc všem za odpovědi!

Ohromně se už těším na to, až si je přečtu a získám tak velmi cenné rady!
Timy
Profil
1. Ne.
2. Nesnažím se nějaký kód zapamatovat :-).
3. Koukám na seriály/filmy v originále s anglickými titulky :-).
4. Já moc nerozumím otázce. Pokud máme ve škole nějaký předmět, který mě absolutně nezajímá a který mi přijde naprosto zbytečný, tak to do sebe den předtím nahážu a další den to na zkoušce vybliju.
5. Nejdřív koukám a když něco jen z koukání nepochopím, tak debuguju.
6. Moc často ne, nějak mě to nebaví.
7. Striktně ne (souvisí to s bodem 4), ale snad vždycky se mi to vymstilo :-).
8. Obojí slouží k něčemu jinému, takže je to úplně jedno.
10. Bakalářka :-).
mckay
Profil
Su Shi:
1) Hlavičku dokumentu si nepamatuj. Nikdo to nedělá. Pamatuj si co nejvíce funkcí z php, které používáš, o zbytku by si měl alespoň vědět, že se dají použít, a o dalších mít matné povědomí a v případě potřeby je dohledat.

2) Kód, který píšu se nesnažím naučit se nazpaměť. Snažím se ho pochopit, abych věděl, jak ho napsat, když vím, jak funguje, můžu ho napsat různými způsoby. Nezapamatovávám si tedy jak kód vypadá, ale spíš co a jak dělá.

3) Dřív jsem dost používal translate.google.com, teď už umím docela dost slovíček, které se frekventovaně používají v anglických manuálech atd, a tak mi stačí jen zběžně prolétnout texty, a podívat se na příklad. Z textu pochopím zhruba to, co funkce dělá, v příkladu zjistím jak ji použít. Mimo to mi také s angličtinou pomohla dost Stargate, a další americké/anglické seriály, není nad to poslechnout si originální dabing (ne tu českou prasárnu), a potrénovat angličtinu.

4) Pokud se jedná o něco do školy, co není potřeba dlouhodobě uchovávat, nahraju si to do své bioCache a ve chvíli, kdy projde zkoušení/test/zkouškové období to smažu.

5) Když se dostanu k cizímu kódu, tak si nejprve zatáhnu závěsy, zhasnu světla, vytáhnu colu (piju jí jen příležitostně), z ledničky, otevřu .htaccess (z něho pochopím, co se děje, na které stránce), z htaccessu vyčtu které soubory jsou klíčové pro úpravu, která je požadována, prozkoumám je, a ve většině případů ten kód rychle analyzuji.

6) Poměrně často, mám až překvapivě mnoho kontaktů, kteří začínají s programováním, nebo jsou už hodně pokročilí, a mají problémy. Občas si hraju na hodného programátora, a opravím jim to. Občas si na něho hraju také, a vytáhnu si to, co by se mi teoreticky mohlo hodit. Občas jsou to docela cenné zkušenosti. V poslední době dávám kódům přednost před knihami, protože na knihy nemám čas a kódy jsou názornější. Samozřejmě, pokud bych začal dělat v jiném programovacím jazyce, asi bych si zase pořídil knihu.

7) Zajisté ano. Pokud jednou něco napíšu, a je to obsáhlejší kód, mám ho v nějaké třídě. Pro příští použití si prostě jen tu třídu vylovím.

8) jQuery jsem zatím nepoužíval, a ani toho moc nelituji, nejsem moc na takové ty skvělé efektíky, které rozhýbou váš web. Myslím, že pokud ještě neumíš PHP atd, neměl by být problém s jQuery začít, je to přeci jenom javascript, dá se z toho získat i spousta věcí, které ti pomůžou, aniž bys potřeboval php.

9) Když se snažíš zjistit, co by šlo udělat lépe, je dle mého lepší ten kód nevidět. Dospíváš totiž stále k jednomu a tomu samému názoru - jo, je to dobrý, tohle bych tak mohl nechat, jo, tohle tam také nechám ... a nic nevylepšíš. Pamatuj si, co kód dělá, a když někde dlouho čekáš, máte hodinu literatury, dějepisu, nebo dlouhou cestu vlakem, programuj si v hlavě, jak by si to mohl udělat. Potom si promysli jaké funkce, nebo postupy jsou nejrychlejší a spoj to se současným kódem, efektivita je vysoká (alespoň u mě).

10) Blbci. Není problém napsat složitou aplikaci, je problém, když zadavatel je blb, který si nedokáže v hlavě uspořádat co chce, a v průběhu práce vám přidává úkoly. Potom celá estetičnost kódu jde do ...
Su Shi
Profil
Díky za odpovědi, opět jsem se z nich pěkně inspiroval!

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: