CodeGym /Blog Jawa /Acak /Analisis kesalahan umum sing ditindakake dening programer...
John Squirrels
tingkat
San Francisco

Analisis kesalahan umum sing ditindakake dening programer pemula, pt. 2

Diterbitake ing grup
Hello maneh, everyone! Kita bakal terus nimbang masalah sing bisa diadhepi dening programmer sing enom lan durung diwasa ing proyek pertama. Pérangan pisanan bisa ditemokake ing kene . Analisis kesalahan umum sing ditindakake dening programer pemula, pt.  2 - 1Ayo diterusake.

13. Gagal tundhuk karo pedoman gaya coding.

Tim pangembangan biasane tetep nganggo gaya coding tunggal. Yaiku, pangembang individu ngetutake aturan sing ditulis utawa ora ditulis kanggo mesthekake yen gaya coding ora beda karo liyane. Aja nyoba mbedakake dhewe kanthi gaya coding sing khas: iki ora nggawe sampeyan katon apik. Yen sampeyan anyar ing proyek kasebut, sampeyan kudu langsung ngerteni manawa ana dokumentasi sing nemtokake pedoman gaya coding umum. Bisa uga ana sawetara file gaya kanggo proyek tartamtu sampeyan kudu takon lan ngimpor menyang IDE (contone, IntelliJ IDEA), supaya IDE bisa menehi pitunjuk gaya coding sing bener. Contone, gaya bisa uga mbutuhake panggunaan modifier pungkasan yen bisa. File gaya ngidini IntelliJ IDEA nyorot ing warna kuning variabel sing ora dihormati.

14. Dadi pundung amarga kesalahan

Analisis kesalahan umum sing ditindakake dening programer pemula, pt.  2 - 2Kesalahan minangka perkara sing kudu sampeyan gunakake. Dheweke wis, saiki, lan bakal ana. Ora preduli yen sampeyan pamula utawa arsitek serius, sampeyan mesthi bakal nggawe kesalahan. Jumlah lan keruwetan kesalahan sampeyan bisa uga owah, nanging bakal ngancani sampeyan sajrone karir. Kadhangkala sampeyan berjuang kanggo njaluk apa-apa kanggo bisa kabeh minggu, sampeyan nggawe kesalahan, lan banjur ana sore lan sampeyan slink ngarep kaya asu diantemi, tanpa bisa ndandani kesalahan sing peduli. Iki minangka perasaan sing ora bisa diterangake, nanging ora ana sing bisa ngganggu sampeyan. Sawise kabeh, prabédan penting liyane antarane pangembang sing berpengalaman lan wong anyar yaiku carane dheweke ngatasi kesalahan. Pangembang sing duwe pengalaman ora nggatekake, nanging nganggep minangka pengalaman. Ora ana sing bakal ngukum sampeyan amarga nggawe kesalahan. Iki normal - saben wong kadang-kadang dadi kekacoan. Maneh, sampeyan bisa njaluk bantuan saka kolega. Lan aja lali babagan wong kaya manajer proyek (PM). Yen sampeyan lagi macet, sampeyan kudu langsung hubungi PM. Dheweke bisa mbantu sampeyan nemokake wong sing ahli ing wilayah masalah. Ing acara apa wae, PM kudu dilaporake babagan masalah sing sampeyan temoni ing proyek kasebut. Tugas PM kanggo mbantu ngatasi kabeh masalah, kalebu komunikasi lan interaksi antarane anggota tim. Kanggo ngringkes: Kesalahan kedadeyan , aja nganti mateni sampeyan. Nanging, tampa minangka tantangan kanggo sampeyan lan katrampilan sampeyan. Ing pungkasan, iku mung bagean saka proyek.

15. Gagal ngleksanakake safety thread.

Ora ana sing apik sing digawe kanthi gampang. Saben pangembang kudu ngerti manawa nulis fungsi tartamtu, apa modul utawa mung cara, mbutuhake rencana babagan apa sing bakal ditindakake lan kepiye carane. Minangka aturan, nalika ngembangake fungsi saka kerumitan apa wae, sampeyan kudu netepi prosedur ing ngisor iki:
Mikir -> nganalisa -> gawe rencana -> tulis kode -> kode uji -> refactor
Akeh kesalahan sing muncul ing kode sing ditulis dening programer pemula sing ana hubungane karo langkah-langkah ing prosedur iki. Mesthi, sampeyan ora bisa ngilangi manawa ana wektu nalika sampeyan kudu nulis kode kanthi cepet tanpa ragu-ragu yen sampeyan ndeleng tugas kasebut. Nanging iki umume mung bisa digunakake kanggo tugas lan cara cilik tartamtu sing implementasine jelas lan ora mbutuhake akeh pamikiran. Prosedur pangembangan kasebut ing ndhuwur luwih cocok kanggo tugas sing rumit lan gedhe sing bisa dipérang dadi subtugas. Ora becik miwiti nulis kode tanpa ngerti kanthi jelas apa sing arep ditulis. Kaping pisanan, sampeyan kudu mikir kanthi ati-ati lan ngrancang kabeh. Sampeyan uga bisa mbiyantu njupuk selembar kertas lan potlot lan nyoba nggawe sketsa ide implementasine. Aku tansah nindakake iki nalika planning fungsi Komplek. A programmer nglampahi paling wektu utawa dheweke ora nulis kode, nanging mikir bab carane struktur fungsi sing dibutuhake . Pancen, yen sampeyan wis ngrancang lan mikir babagan kabeh, nulis kode dadi proses mekanik sing ora repot.

16. Kakehan nyambut gawe

Analisis kesalahan umum sing ditindakake dening programer pemula, pt.  2 - 3
saka film "Fight club" (1999)
Mbok menawa saben pemula mikir yen kanthi kerja ing wayah wengi, dheweke bakal miwiti ngrampungake tugas liyane lan bakal dipasrahake kanthi tanggung jawab sing luwih akeh. Aku uga mikir kaya ngono, nanging ora maneh. Aku ngeweruhi sing ana rawuh titik nalika sampeyan mencet watesan, nalika sampeyan mandek kanggo bisa mikir cekap. Sampeyan wiwit dadi surem lan ngalami kabut mental. Butuh sejam kanggo nindakake samubarang sing bisa ditindakake sajrone 10 menit yen pikiranmu seger. Meh tanpa pangecualian, sawise sampeyan ngliwati garis kesel iki, sampeyan nemoni sawetara masalah sing ora bisa diatasi. Nanging yen esuk teka kerja, sampeyan bisa ngrampungake kanthi cepet. Dadi yen sampeyan rumangsa wis tekan titik iki, aja nganti telat. Mung mulih lan ngaso. Sawise kabeh, yen sampeyan tetep ing meja nganti pungkasan ing wayah wengi, sampeyan ora mung bakal entuk asil sing luar biasa sajrone jam nyiksa iki, nanging ing wektu sing padha sampeyan bakal duwe risiko istirahat sing kurang (ora cukup) sadurunge dina kerja sabanjure, nalika sampeyan ' bakal meneng maneh. Coba pikirake babagan kesehatan sampeyan: apa worth ngrusak kaya iki ing wiwitan karir sampeyan? Aku ora mikir. Wektu sing larang kanggo lara. Lan mikir babagan majikan sampeyan. Kanthi overworking dhewe, sampeyan nggawe kahanan luwih elek ora mung kanggo awake dhewe, nanging uga kanggo majikan sampeyan. Sapa sing butuh karyawan sing terus-terusan ngantuk, sing, amarga kesel, ora bisa ngetrapake algoritma pangurutan sing paling gampang? Ya, mesthi ana wektu nalika sampeyan duwe tenggat wektu sing panas, wektu nalika kabeh salah, lan wektu - lan iki minangka favorit pribadi - "kita butuh iki wingi". Nanging kahanan kasebut umume arang banget, lan yen sampeyan wis ngliwati, sampeyan kudu njagong lan nimbang-nimbang kanthi ati-ati kepiye kedadeyan kasebut lan kepiye supaya bisa ditindakake ing mangsa ngarep.

17. Nglirwakake katrampilan basa Inggris

Akeh pangembang sing kepengin banget ngutamakake teknologi sinau lan mandheg sinau basa Inggris. Iki minangka kesalahan serius, amarga asring programmer cocok kanggo posisi junior (utawa magang), nanging ora entuk kerja amarga katrampilan basa Inggris sing ringkih. Ya, mesthi, ana kasus nalika sampeyan bisa urip tanpa basa Inggris. Minangka aturan, wong kasebut disewakake sacara lokal kanggo proyek ing negara sing ora nganggo basa Inggris. Nanging perusahaan lokal ora mbayar upah sing padha karo perusahaan asing. Lan bakal angel banget kanggo entuk gaji sing layak, sanajan suwe. Mulane sampeyan ora kudu nglirwakake basa Inggris. Tinimbang nglebokake basa Inggris ing pembakar mburi, sampeyan kudu sinau supaya bisa langsung fokus ing proyek basa Inggris. Pancen, pikirake sedhela — Inggris saiki dadi basa bisnis internasional. Ing negara ngendi wae, sampeyan bisa nemokake basa sing umum karo wong liya yen sampeyan ngerti basa Inggris. Semono uga ing proyek pembangunan. Ora preduli ing endi proyek kasebut adhedhasar: Jerman, Australia, Prancis, utawa ing papan liya — kabeh komunikasi, kabeh tugas, dokumentasi, lan liya-liyane bakal nganggo basa Inggris. Lan yen sampeyan mikir babagan iki, sampeyan bakal setuju yen iki trep banget, ta?

18. Ngudi teknologi trendi

Nalika pangembang miwiti ing dalan, dheweke kerep nyoba ngupayakake teknologi paling anyar. Apa sing bener? Ing tangan siji, ya: teknologi paling anyar, proyek ... Nanging apa worth iku kanggo nggawe iki prioritas ndhuwur? Mbok menawa luwih apik kanggo ngupayakake "toolkit klasik" kanggo spesialis ing lapangan sampeyan? Anyar mesthi apik, nanging sampeyan ora kudu lali babagan teknologi dhasar ing lapangan sampeyan. Lan mung banjur, sawise sampeyan wis gained sethitik pengalaman karo lan kawruh jero saka dhasar, sampeyan bisa nyoba soko anyar. Coba uga teknologi anyar bisa uga luwih unggul ing sawetara cara sing halus, nanging bisa uga kelangan keuntungan ing liyane. Nganti pangembang pemula ngerti tradeoff iki, luwih becik tetep nganggo solusi sing wis diuji wektu. Contone, yen programmer ngembangake aplikasi sing sesambungan karo sawetara data, aja cepet-cepet nggunakake solusi NoSQL paling anyar mung amarga ana ing mode. Database SQL sing dicoba lan bener (MySQL, PostrgreSQL, lsp.) kemungkinan duwe dokumentasi rinci lan solusi ing StackOverFlow kanggo masalah potensial :)

19. Sinau macem-macem teknologi lan/utawa basa bebarengan

Kita ngomong ing ndhuwur babagan pamula sing nyoba sinau teknologi modern. Lha, kepiye carane sinau akeh teknologi utawa basa bebarengan? Temenan, sampeyan wis krungu babagan programer sing ngerti luwih saka siji basa pamrograman lan wis nguwasani akeh teknologi. Nanging aku bakal cepet nuduhake yen wong-wong iki adoh saka anyar kanggo program. Iki minangka wong sing duwe pengalaman pirang-pirang taun ing mburi. Dheweke wis nguwasani teknologi asline lan banjur luwih maju. Pamula nyoba nguwasani kabeh bebarengan kudu ngelingi paribasan sing apik banget: "Nguber loro hares lan sampeyan ora bakal nyekel siji." Konsekuensi bisa uga sampeyan ora bakal nguwasani topik apa wae kanthi apik, nanging mung sinau subjek kanthi entheng. Bakal ana luwih akeh panjaluk kanggo spesialis sing ngerti basa siji luwih jero tinimbang sing ngerti babagan kabeh. Dadi yen sampeyan pengin ngerti akeh basa lan teknologi, sampeyan kudu nyedhak kanthi wicaksana. Kanggo miwiti, sampeyan kudu milih basa dhasar, inti sing kudu sampeyan sinau kanthi jero. Lan mung banjur sampeyan kudu miwiti sinau wilayah liyane. Contone, dadi guru Jawa, banjur sinau Python minangka basa kapindho. Sawise iku, sampeyan bisa uga sinau babagan reaksi / sudut kanggo frontend. Ing kasus iki, kita ngomong babagan teknologi sing ora bisa diganti, kayata C # lan Jawa, nanging luwih nglengkapi, ngembangake kesempatan karir. Nanging maneh aku mbaleni: sampeyan ora kudu nyoba sinau kabeh bebarengan. Sampeyan kudu pindhah kanthi urutan. Nyekel terwelu siji ing wektu, supaya ngomong.

20. Tujuan sing ora dirumusake kanthi bener

Kepiye carane sampeyan nyetel gol kanggo awake dhewe? Dadi pangembang sing keren? Elingi iki sapisan lan kanggo kabeh: sampeyan kudu nyetel gol konkrit, utawa ing tembung liyane - gol achievable. Aku ngomong apa? Contone, sampeyan nemtokake dhewe goal: "Aku pengin dadi sugih". Nanging kepiye sampeyan ngerti manawa sampeyan wis entuk target kasebut? Utawa carane sampeyan ngukur sepira cedhak sampeyan kanggo nggayuh? Nah, yen sampeyan nemtokake target "Aku pengin entuk yuta dolar", iku luwih cetha, ta? Sawise sampeyan entuk $10.000, sampeyan $10.000 luwih cedhak karo target sampeyan - mung $990.000 sing isih ana. Isih akeh sing kudu digayuh, nanging sampeyan bisa ngrasakake kemajuan lan ngerti ing ngendi garis finish, mula sampeyan bakal semangat kanggo terus maju. Ing babagan karir, kepiye carane nyetel gol sing luwih nyata? Contone: Aku pengin dadi pimpinan tim. Utawa dev senior. Utawa pungkasane dadi arsitek. Ya, saben tugas gedhe kudu dipérang dadi subtugas cilik. Sampeyan ora dadi pimpinan tim ing wiwitan karir. Setel tenggat wektu yen bisa lan cocog, lan fokus ing tataran saiki.
  1. Yen kita ngomong babagan dadi pangembang senior , mula tujuan cilik sing sepisanan yaiku golek magang utawa kerja minangka pangembang junior ing perusahaan.
  2. Sabanjure, sampeyan bisa nyetel gol kanggo nambah kawruh babagan teknologi tartamtu. Ing babagan Jawa, sampeyan bisa nyiapake sertifikasi Oracle Level 1. Kita nggawe pigura wektu kanggo nyiapake lan ngrampungake target kasebut.
  3. Banjur, contone, sampeyan bisa nyetel target kanggo nambah basa Inggris kanthi siji level (umpamane, saka B1 nganti B2). Kita nggawe rencana sinau, jadwal wektu, lan pindhah menyang tujuan.
Iki carane kita bisa nggayuh tujuan utama langkah demi langkah (nalika entuk pengalaman pangembangan piranti lunak).

21. Teori tanpa laku

Kasunyatan sing ora bisa dibantah manawa kita dadi profesional sing luwih apik kanthi sinau teknologi anyar lan luwih jero menyang topik sing wis kita kenal. Nanging ing wiwitan lelampahan, pangembang arang nyadari yen ngobong buku teknis siji-sijine ora nggawa keuntungan gedhe yen kawruh anyar ora dicoba ing praktik. Aku pribadi wis nemu iki luwih saka sapisan. Yen sampeyan nyawisake akeh wektu kanggo buku nanging sampeyan ora nindakake apa-apa saka buku kasebut, mula meh kabeh kawruh sing mentas dipikolehi bakal dilalekake: sampeyan mung duwe memori sing ora jelas babagan cara kerjane kabeh. Asil iku akeh wektu boroske tanpa asil nyata. Yagene kita kudu mbuwang wektu? Urip ora langgeng. Sing penting yaiku nalika sampeyan sinau teknologi anyar, sampeyan ora kudu mandheg ing teori kasebut: tulisake conto sing diwenehake kanthi paralel karo maca sampeyan, eksperimen karo teknologi anyar. Iki mung cara kanggo njaluk otak kanggo nyimpen informasi. Ya, sampeyan bakal nggunakake bahan anyar kudu luwih alon, nanging sampeyan bakal assimilate Ngartekno luwih saka apa sing diwaca. Apa maneh, yen sampeyan nguwasani siji teknologi kanthi apik, sabanjure bakal luwih gampang dikuasai (kaya karo sinau basa).

22. Perfeksionisme sing gedhe banget

Umume pangembang yaiku perfeksionis: wong sing ngupayakake kesempurnaan. Iki tegese kode kasebut uga kudu sampurna. Dadi kode sampeyan wis ditulis, dites, disempurnakake, lan kayane wis wektune ngirim menyang cabang utama. Nanging sampeyan isih ora wareg karo kode, supaya sampeyan miwiti twisting iki lan iki, nglampahi akèh wektu ing gaweyan iki. Lan ing kasus iki, wektu minangka dhuwit klien sampeyan. Programer anyar luwih rentan kanggo nggoleki kesempurnaan iki. Pangembang sing berpengalaman wis biasa ngrasa yen kode kasebut ora bakal sampurna lan kudu nyoba nulis luwih apik. Nanging ing wektu sing padha ora dadi ekstrem ing upaya kanggo nyedhaki "ideal". Dadi, elinga sinau babagan carane entuk medium sing seneng: ora nganggo gaya lan ora nyoba nggawé ulang Mona Lisa ing kode.

23. Gagal mikir babagan arsitektur

Ayo kula ngomong maneh: sampeyan ora kudu nulis kode sing ora sopan. Saliyane maca lan kinerja, sampeyan uga kudu mikir babagan carane kode sampeyan bisa mengaruhi aplikasi liyane kanthi sakabehe. Contone, sepira angel kanggo ngluwihi kode sampeyan, lan liya-liyane. Masalahe yaiku pangembang pemula, amarga kurang pengalaman, bisa uga ora langsung ngerti kepiye fungsi anyar bakal mengaruhi aplikasi kasebut ing mangsa ngarep. Pandangan ngarep iki mesthi mbutuhake akeh latihan kanggo berkembang. Nanging apa sing kudu ditindakake wong anyar? Ora nulis kode? Ing kahanan kasebut, macem-macem paradigma pemrograman mbantu kita. Contone, prinsip SOLID utawa macem-macem pola desain sing bisa menehi praktik sing migunani kanggo sampeyan. Paradigma kasebut uga kudu ditindakake kanthi ati-ati lan ora adoh banget. Nanging carane sampeyan nemtokake titik nalika sampeyan overdoing? Iki ngendi review kode dening kolega sing luwih berpengalaman bakal mbantu sampeyan. Kanthi nggawa mripat sing seger lan objektif, kolega sampeyan bisa ngarahake sampeyan menyang arah sing bener.

24. Sindrom impostor

Analisis kesalahan umum sing ditindakake dening programer pemula, pt.  2 - 4Sindrom impostor minangka fenomena psikologis ing ngendi wong ora bisa ngubungake prestasine kanggo kualitas pribadi, kabisan lan usaha. Senadyan bukti eksternal saka kinerja sing konsisten, wong sing rentan kanggo sindrom iki terus percaya yen dheweke minangka penipuan lan ora pantes sukses sing diraih. Akeh pangembang duwe sindrom iki. Bisa uga menehi kita ketekunan sing ndadekake kita maju menyang kawruh lan teknologi anyar. Sampeyan ndeleng rekan kerja sing luwih berpengalaman lan wis tuntas lan rumangsa ora kepenak, kaya ora entuk gaji. Pracayaa, iki ora bener. Ana lan mesthi bakal ana pangembang sing luwih apik utawa luwih elek tinimbang sampeyan. Ana wong liya sing ndeleng sampeyan lan rumangsa ora kepenak, mikir yen dheweke ora bakal dadi kaya sampeyan. Lan iki normal. Umpan balik saka tim, ulasan kode, lan diskusi mbantu nglawan perasaan iki. Pracayaa, pendapat wong njaba bakal kaget sampeyan, nanging mung yen sampeyan ora nglirwakake pakaryan lan pangembangan profesional. Yen sampeyan nglirwakake perkara kasebut, mula sampeyan milih profesi sing salah. Ing profesi iki, sampeyan kudu tansah sinau sing anyar lan ngupayakake sing paling apik. Nanging aku mikir wong-wong sing kumpul ing kene adoh saka kesed. Nanging, wong-wong ing kene terus maju menyang tujuan sing ditresnani. Yen sampeyan nggambarake sampeyan, mula sampeyan ora kudu wedi.

25. Arang nggawe komitmen

Elinga kanggo nindakake commit asring! Ora saben setengah jam, elinga. Yen sampeyan nglampahi seminggu ngleksanakake sawetara fungsi, mula sampeyan ora kudu nindakake siji komitmen ing wayah wengi Jumuah, nanging, ucapake, limang komitmen. Meh kabeh tugas gedhe bisa dipérang dadi tugas sing luwih cilik supaya gampang. Supaya sampeyan ngrampungake tugas sing luwih cilik lan komitmen. Lan aja lali ngirim komitmen kasebut menyang server remot langsung. Yen ora, sampeyan bisa nindakake kabeh minggu lan banjur komputer gagal hardware ing dina Jumuah ing wayah nedha awan, banjur sampeyan wis ilang minggu kabèh kanggo apa-apa! Nanging yen sampeyan ngunggah komitmen menyang server remot, sampeyan mung bakal narik cabang kasebut kanthi komitmen pungkasan menyang komputer liyane lan terus kerja. Siji liyane: aja ngirim fungsi anyar menyang server produksi langsung ing dina Jumuah wengi. Percaya wae. Sampeyan ora perlu sing. Kemungkinan gedhe kesalahan sing ora dikarepke bakal katon, lan sampeyan bakal nglampahi akhir minggu kanggo ndandani. Lan iku ora nyenengake. Sampeyan kudu ngaso ing akhir minggu. Aku kira iku kabeh kanggo dina iki. PS Siji tip pungkasan: nulis akeh kode. PPS Tulis kode sing akeh banget INSANELY, amarga iku mung cara kanggo entuk pengalaman sing dibutuhake.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION