DEV Community

Konrad Chmielecki
Konrad Chmielecki

Posted on • Updated on

kod to nie wszystko

rubic

Dość długo siedziałem w swojej piwnicy skupiony nad samym programowaniem. Mimo że lubię programowanie, to było dla mnie trudne i właściwie nadal jest.
Choć dziś jestem na zupełnie innym poziomie niż wtedy gdy stawiałem swoje pierwsze kroki.
Ale moja piwnica zaczęła mi coraz bardziej ciążyć. Mimo że ją uwielbiam, to coraz gorzej zaczynałem się czuć.
Więc pomału zacząłem z niej wychodzić. Poszerzając swoje pole widzenia, między innymi o podcasty.
Podcasty okazały się dla mnie niesamowitym źródłem wiedzy.

Wychodzenie z piwnicy spowodowało że mój rozwój przyśpieszył.
I zaczęło do mnie docierać że znajomość języka programowania to dopiero początek.

Rzeźbiąc swój kompilator dla procesora 65c02 w JavaScript napotkałem wiele problemów. Jednym z nich było przetwarzanie kodu źródłowego. Za choler nie mogłem napisać funkcji rozbijającej kod na tokeny, nie łamiąc przy tym zasady pojedynczej odpowiedzialności. Siedem razy pisałem funkcję aż do mnie dotarło że pomyliłem rozbijanie kodu na tokeny z parserem.
W końcu za ósmym razem udało mi się napisać funkcje tak jak chciałem.

Oświeciło mnie to jak ważnym na początku jest zrozumienie problemu który chce cię rozwiązać. Im więcej czasu poświęci się nad planowaniem i zrozumieniem zagadnień z tym związanych, tym mniej trzeba będzie błądzić w kodzie.

Istnieje takie pojęcie jak DDD (Domain-driven design). Mówi ono mniej więcej o tym żeby tworzyć tak oprogramowanie aby odzwierciedlało biznes dla którego ma działać.
Żeby to zrobić należy zrozumieć jakie problemy oprogramowanie ma rozwiązać. Jak działa biznes w której przestrzeni będzie działać oprogramowanie.
Żeby to wszystko zrobić trzeba zadawać pytania. Do tego celu przydaje się ciekawość dziecka, ale nie taka upierdliwa w pytania.

Jednakże minie nieco czasu zanim nauczę się zadawać trafne pytania na które chce uzyskać odpowiedź.

Discussion (0)