JavaRush /Java Blog /Random-TK /Täze programmistleriň adaty ýalňyşlyklarynyň derňewi: 1-n...

Täze programmistleriň adaty ýalňyşlyklarynyň derňewi: 1-nji bölüm

Toparda çap edildi
Salam, dünýä! Needhli zerur zatlary öwrenip, ahyrsoňy tejribe ýa-da kiçi işe alnanyňyzdan soň dynç alyp bilersiňiz, şeýlemi? Nähili bolsa-da! Hemme zat ýaňy başlaýar ... Daş-töweregiňizde köp täze we düşnüksiz zatlar bar, derwezeden edil şunuň ýaly çişip bolmazmy? Ine, şu gün gürleşeris. Bu makalada, täze başlanlaryň goýberen umumy ýalňyşlyklaryna seredip, olardan gaça durmak barada öz tejribämden käbir maslahatlar bermek isleýärin. Täze programmistleriň adaty ýalňyşlyklarynyň derňewi: 1-nji bölümŞeýlelik bilen, mundan beýläk başlamazdan başlalyň:

1. Has tejribeli kärdeşlerinden kömek soramakdan gorkmak

Biziň hemmämiz adam we hemmämiz samsyk görünmekden gorkýarys, esasanam täze çykan, has tejribeli kärdeşlerimiziň gözünde. Ilkinji işine girenlerinden soň, işläp düzüjiler köplenç bu gorkydan ýüz öwürýärler we hemme zady özbaşdak çözmäge synanyşýarlar. Şol bir wagtyň özünde, adamy has tejribeli kärdeşleri gurşap biler, olar hem öz gezeginde has köp ýalňyşlyklardan we gereksiz “bökdençliklerden” gaça durjak iň dogry ýolda ugrukdyryp bilerler. Şonuň üçin ýadyňyzdan çykarmaň: sorag bermekden gorkmaň: siz başlangyç, her kim muňa gaty gowy düşünýär. Sorasaňyz, hiç kim sizi taýak bilen urmaz. Belki-de, başga bir ýol bar: kärdeşleriňiz bilen has çalt dostlaşarsyňyz we olar bilen has işjeň aragatnaşyk gurup başlarsyňyz. Has köp zat aýdaryn: dürli tehniki meseleler barada näçe köp sorasaňyz we ara alyp maslahatlaşsaňyz, ýaşyl başlangyç aýakgabyndan çalt çykyp, öz ugruňyz boýunça hünärmen bolup bilersiňiz. Moreene bir maslahat. “StackOverFlow” -y äsgermezlik etmäň . Bu kontekstde, bu çeşme barada sorag bermegi göz öňünde tutýaryn. Bir tarapdan, soragyňyza jogap tapmak üçin birneme wagt gerek. Emma beýleki tarapdan, häzirki meseläni çözmegiň birnäçe çemeleşmesi barada derrew öwrenip bilersiňiz we oňa birneme başgaça seredip bilersiňiz. Şeýle hem, beýleki işläp düzüjileriň StackOverFlow-daky soraglara düşündirişleri-jogaplary ýazmagyň, karma goşmakdan başga-da, amaly peýdasynyň bardygyny belläsim gelýär: bu meseläni has çuňňur ara alyp maslahatlaşmaga we düşünmäge mümkinçilikiňiz bar.

2. Maglumatlary özbaşdak gözlemäň

Täze programmistleriň adaty ýalňyşlyklarynyň derňewi: 1 - 2 bölümBelki, bu ýalňyşlyk öňki biriniň ters tarapydyr. Diýjek bolýanym, her bir mesele ýa-da mesele bilen kärdeşleriňize we tanyşlaryňyza çekip başlanyňyzda. Soramak gowy, ýöne soraglar bilen gaty uzaga gitmeli däl, ýogsam ýadap bilersiňiz. Käbir düşnüksiz bir pikir ýüze çyksa, etmeli ilkinji iş gözleg ukybyňyzy iň gowy gözleg motory - Google-da ulanmakdyr. Kimdir biri düşnüksiz ýalňyşlyklaryň we beýleki meseleleriň köpüsine eýýäm duş geldi. Google-dan peýdalanyp, şuňa meňzeş bir mesele bilen tanyş bolan we işinde ulanmak üçin eýýäm giňişleýin jogaplary alan adamlaryň sanyny görseňiz, gaty geň galarsyňyz. Şundan ugur alyp, kärdeşiňiziň “Google ony” diýen soraga jogap bermegini köplenç eşidip bilersiňiz. Bu jogap sizi gynandyrmaly däldir, sebäbi kärdeşiňiz iş ugruňyzyň ähli kynçylyklaryny görkezmeli şahsy mugallym däl. Internetiň tükeniksiz giňligi size şeýle terbiýe bermekde kömek eder. Käwagt programmaçy Google gözleginde gara guşakly adam hem diýilýär . Şonuň üçin ýapyşanymyzda ilki bilen Google-a meseläni çözýäris we hiç hili çözgüt tapylmasa (seýrek, ýöne şeýle bolýar), kärdeşlerimizden sorap başlaýarys. Olardan haýsydyr bir ýalňyşlyk ýa-da düşnüksiz ýalňyşlyk ýüze çykanda däl-de, bir meseläni çözmek üçin çemeleşme saýlananda derrew soramaly. Galyberse-de, olar siziňkiden has köp zady görüp bilerler we bu ýa-da beýleki çemeleşmäniň uzak möhletde nähili bolup biljekdigini derrew aýdyp bilerler.

3. Kör göçürmek

Täze programmistleriň adaty ýalňyşlyklarynyň derňewi: 1 - 3 bölümProblemöne meseläni çözmek we şoňa görä-de çözmegiň kemçilikleri bar. Mysal üçin, kör göçüriň . Bu, köplenç şuňa meňzeş meseläni tapanyňyzda (ýöne belki düýbünden birmeňzeş däl) ýüze çyksa we onuň aşagynda, meselem, StackOverFlow-da çözgüt bar. Bu çözgüdi alýarsyňyz, gaty jikme-jik maglumat bermezden özüňiz göçüriň. Soň bolsa ýa-da taslama kärdeşleriňiz käbir geň kemçilikleri ýa-da işleýşiňiziň nädogry hereketlerini ýüze çykarýarlar. Derrew aýaklaryň nireden gelendigini hiç kim bilenok. Soň, elbetde, bu kody bolan bir ýer tapylar we bu karar üçin hökman öwülmersiňiz. Şonuň üçin StackOverFlow-da (ýa-da başga bir ýerde) taýýar çözgüt tapanyňyzda, ilki bilen ony jikme-jik seljermeli, onuň nämedigini, nädip we näme üçin. Belki, bu funksiýany google edip, onuň üçin resminamalara serediň. Diňe şondan soň ony taslamaňyza durmuşa geçiriň.

4. Nädogry çözgüdi zyňmak

Çözüw ýazylanda kämahal çylşyrymlaşyp, ahyrsoňy ahyrky netijä gelýär. Başga bir, has amatly alternatiwa gözlemegiň ýerine, bu çemeleşmäni ulanyp, bu meseläni nädip çözmek üçin ony hasam çylşyrymlaşdyrjak bolýarsyňyz. Belki, sarp eden güýjüňize we wagtyňyza gynanarsyňyz, şonuň üçin karar berersiňiz: näme bolsa-da, ýüz öwürmäň, meseläni şu görnüşde çözüň. Bu düýbünden dogry çemeleşme däl. Iň bolmanda programmirlemekde. Başga çemeleşmäni näçe ir synap görseňiz, şonça-da köp wagt tygşytlap bilersiňiz. Şonuň üçin bu meselä näçe wagt sarp edendigiňize garamazdan synagdan we beýleki çemeleşmeleri synap görmekden gorkmaň. Mundan başga-da, bu siziň tejribäňiz üçin nokatlar bolar, sebäbi birnäçe çemeleşmäni synap görersiňiz we bu ugry has gowy öwrenersiňiz.

5. Häzirki wezipe barada sorag bermekden gorkmak

Taslamanyň üstünde işlemek, adatça, käbir meseleleri ýerine ýetirmek üçin gelýär. Mysal üçin, Jirada . Bu meseleler hemişe jikme-jik we aýdyň beýan edilmeýär. Adatça topar ýolbaşçylary tarapyndan ýazylýar we bu bolsa adamlar. Şeýle hem, bir zat goşmagy ýatdan çykaryp bilerler ýa-da bu ýa-da bu funksiýa bilen gaty tanyş däldigiňizi göz öňünde tutmazlar. Garaz, ýa-da taslama girip bilmersiňiz (mysal üçin, Maglumat bazasyna, gündelik serwerine we ş.m.). Indi bu ýumşy alansoň, birnäçe sagatdan gowrak wagtlap öwreneniňde-de, geň galmak bilen ekrana seredýärsiň. Munuň hiç hili peýdasyzdygyna göz ýetirmegiň ýerine, bu meseläni döredijä öňdebaryjy / aýdyňlaşdyryjy soraglar berip başlamaly. Bir toparda aragatnaşyk üçin ulanýan programmaňyzda (mysal üçin, Microsoft Toparlary) ýa-da gönüden-göni bu meseläniň düşündirişi hökmünde aýdalyň. Bir tarapdan, şahsy habarda bir sorag ýazsaňyz, jogap has çalt bolar, sebäbi adam soragy derrew görer. Başga bir tarapdan, Jirada sorag bermek bilen, bir zady edýändigiňize, meselem, meseläni seljerýändigiňize subutnamaňyz bar. Bu prosesi çaltlaşdyrmagyň bir usuly bar: Jirada teswir hökmünde bir sorag beriň we seretmek haýyşy bilen bu habara baglanyşyk iberiň.

6. Toparyň öňdebaryjylaryndan gaty köp zada garaşmak

Againene-de bu öňki nokadyň öwrülişik tarapy. Toparyň ýolbaşçysy ösüş toparynyň başlygy bolan adam. Düzgün bolşy ýaly, şeýle toparyň agzasynyň köpüsi dürli aragatnaşyk görnüşlerine sarp edilýär. Şol bir wagtyň özünde, nämedigini ýatdan çykarmazlyk üçin kod ýazýar. Garaz, düşünşiňiz ýaly, bu gaty işli häsiýet. Her bir asgyrmak üçin çakdanaşa gyşarmak, ony begendirip bilmez. Toparyň her bir agzasy ony bir topar sorag bilen bombalasa, göz öňüne getiriň. Şeýdip, däli bolup bilersiň, şeýlemi? Täze programmistleriň adaty ýalňyşlyklarynyň derňewi: 1 - 4 bölümSiziň köp soragyňyz bilen size uzak wagtlap jogap berjekdigi geň däldir. Toparyň ýolbaşçysyna soraglaryň sanyny azaltmak üçin näme edip bilersiňiz:
  • Kör tegmilleriň sanyny azaltmak üçin bu taslamanyň resminamalaryny has çuňňur öwreniň.
  • Toparyň beýleki agzalaryna sorag beriň. Bu funksiýa bilen gurşun ýaly, ýa-da has köp tanyş bolmagy gaty ähtimal, sebäbi olaryň biri bu funksiýany ýazandyr.
Alterna-da bolmasa, IDE-de düşündirişlere seredip bilersiňiz: kody kim we soňky gezek belli bir setirde üýtgeden bolsa. Şeýlelik bilen, bu soragy bermegiň iň dogrudygyny anyklarys. Mümkin, eýýäm düşünşiňiz ýaly, toparyň ýolbaşçysyna sorag bereniňizde, kärdeşleriňize sorag bereniňizde, altyn manysyny saklamaga synanyşmalysyňyz - sorag bermekden gorkmaň, şeýle hem aşa köp mukdarda zyýan bermäň.

7. Kod gözden geçirmekden gorkmak

Täze programmistleriň adaty ýalňyşlyklarynyň derňewi: 1 - 5 bölümKod gözden geçirmek ýa-da kod gözden geçirmek, umumy programma (mysal üçin, ussat ýa-da dev) kod ýüklemezden ozal bir tapgyrdyr. Bu barlag, bu mesele bilen baglanyşykly bolmadyk, ösüşiň başlangyç döwründe ünsden düşmedik kod stilindäki ýalňyşlyklary, nädogrylyklary ýa-da kemçilikleri ýüze çykaryp bilýän dörediji tarapyndan amala aşyrylýar. Teswirler bar bolsa, koduň käbir bölümlerine teswir hökmünde galdyrylýar. Bu ýagdaýda bu meseläni ýerine ýetiren işläp düzüjiniň synyna görä ýalňyşlyklary düzetmeli (ýa-da kararlaryny synçy bilen ara alyp maslahatlaşmagy, belki-de kararynyň dogrudygyna ynandyrmagy mümkin). Ondan soň, synçynyň teswirleri bolýança, gözden geçirmek üçin iberiň we ş.m. Synçy kody ýüklemezden ozal “süzgüç” bolup hyzmat edýär. Şeýlelik bilen, täze öwrenen programmistleriň köpüsi kod synyny tankyt we ýazgarmak hökmünde kabul edýärler. Olar oňa baha bermeýärler we ondan gorkýarlar, bu ýalňyş. Kody gözden geçirmäge mümkinçilik berýär. Galyberse-de, nädogry iş edýändigimiz we nämä üns bermelidigimiz barada möhüm maglumatlary alýarys. Her kod gözden geçirilişini öwrenmegiň bir bölegi hökmünde görmeli, gowulaşmaga kömek edip biljek bir zat. Haçan-da bir adam koduňyza teswir ýazsa, başdan geçirenleri, iň gowy tejribeleri bilen paýlaşýar. Özüm barada aýtsam, kod gözden geçirmän gowy programmist bolup bilmersiňiz. Sebäbi koduňyzyň näderejede gowydygyny we daşardan tejribeli adamyň nukdaýnazaryndan ýalňyşlyklaryň bardygyny ýa-da ýokdugyny bilmeýärsiňiz.

8. Çözgütleri abstrakt etmek meýli

Köplenç dürli meseleler / meseleler birnäçe dürli çözgüt bolup biler. Bar bolan çözgütleriň arasynda täze öwrenýänler köplenç iň çylşyrymly we “abstrakt” çözgütleri ulanýarlar. Bu hakykat: düýn täze bir programmist köp dürli algoritmleri, nagyşlary, maglumatlar gurluşlaryny öwrenen bolsa, onda birini durmuşa geçirmek üçin elleri gyjyndyrýar. Hawa, şeýlelik bilen, özümi yglan etmek isleýärin. Maňa ynanyň, men özüm ýaly boldum we näme hakda gürleşýändigimi bilýärin :) Köp wagtlap gaty çylşyrymly bir funksiýany ýazmak bilen geçiren ýagdaýym bardy. Soň bolsa ioraşuly + derejeli dörediji tarapyndan gaýtadan ýazyldy. Elbetde, onuň nämäni we nädip üýtgedendigini görmek bilen gyzyklandym. Onuň ýerine ýetirilişine göz aýladym we has ýönekeýleşendigine haýran galdym. Kod üç esse az boldy. Şol bir wagtyň özünde, bu funksiýa üçin synaglar üýtgemedi we şowsuz bolmady! .Agny, umumy logika öňküligine galýar. Şundan netijä geldim: iň oýlap tapyjy çözgütler hemişe ýönekeý . Bu düşünişensoň, kod ýazmak has aňsatlaşdy we has ýokary derejä çykdy. Onda, haçan nagyşlary we algoritmleri ulanmaly? Soň bolsa, olary ulananyňyzda iň ýönekeý we iň ykjam usul bolar.

9. Welosiped oýlap tapmak

Bu düşünje tigiriň oýlap tapylmagy hökmünde hem bellidir. Munuň düýp manysy, işläp düzüjiniň çözgütleriň eýýäm bar bolan we programmistiň oýlap tapanlaryndan birnäçe esse gowy bolan meseläniň öz çözgüdini durmuşa geçirmegidir. Düzgün bolşy ýaly, öz welosipediňizi oýlap tapmak, wagtyň ýitmegine we işläp düzüjiniň işiniň netijeliliginiň peselmegine sebäp bolar, sebäbi çözgüt iň gowusyndan uzakda ýa-da asla tapylmazlygy mümkin. Şol bir wagtyň özünde, garaşsyz kararyň mümkinçiligini taşlap bolmaz. Programmist, başarnykly we öz wagtynda çözmek üçin taýýar çözgütleri ulanmak ýa-da özbaşdak oýlap tapmak üçin öňünde ýüze çykyp biljek meseleleri dogry öwrenmeli. Bir tarapdan, uniwersitetlerde we kurslarda welosiped döretmekde elimizi almaga kömek etmeli dürli meseleler bar. Thisöne bu diňe ilkinji seredişde. Aslynda munuň maksady algoritmiki pikirlenmäni we diliň sintaksisine has çuňňur ussatlygy ösdürmekdir. Şeýle meseleler algoritmlere / gurluşlara has gowy düşünmäge kömek edýär we zerur bolsa olara ösen analoglaryny durmuşa geçirmek endiklerini berýär (ýöne bu gaty seýrek). Hakyky durmuşda, köplenç halatda öz tigiriňizi oýlap tapmagyň zerurlygy ýok, sebäbi zerurlyklarymyzy kanagatlandyrýan analoglar köpden bäri bar. Perhapshtimal, tejribäňiz sebäpli bu ýa-da zerur funksiýany durmuşa geçirmegiň barlygy hakda bilmersiňiz. Ine, şu makalanyň birinji nokadyny ulanmaly, has tejribeli kärdeşlerinden kömek soramaly. Olar size ýol görkezip bilerler (mysal üçin, Google-a haýsy tarapa maslahat berjekdigiňizi) ýa-da belli bir durmuşa geçirmegi teklip edip bilerler (belli bir kitaphana).

10. Synag ýazmaň

Täze başlanlaryň hemmesi synag ýazmagy halamaýarlar. Täze doglan çagalar hakda näme diýmeli: täze bolmadyk çagalar hem synag ýazmagy halamaýarlar, ýöne munuň näme üçin zerurdygyna has gowy düşünýärler. Doly ýaşyl bolanyňyzda, pikir edýärsiňiz: näme üçin ýazmaly? Bularyň hemmesi işleýär we ýalňyşlyk bolup bilmez. Changesöne üýtgeşmeleriňiziň ulgamyň başga bir böleginde bir zady bozmaýandygyna nädip ynanyp bilersiňiz? Peýdasyndan has köp päsgel berýän üýtgeşmeleri girizseňiz, kärdeşleriňiz gadyryny bilmezler. Synaglar şu ýere gelýär. Synaglar bilen näçe köp programma gurulsa, şonça-da gowy (örtük göterimi hem diýilýär). Programma synaglar bilen gowy örtülen bolsa, hemmesini işledip, üýtgeşmeleriňiz bilen bozulyp boljak ýerleri tapyp bilersiňiz. Aboveokardaky mysalda aýdyşym ýaly, işleýşi täzeden üýtgedilende synaglar şowsuz bolmady we umumy logika üýtgemedi. Bu, synaglaryň belli bir işlemegiň logikasynyň üýtgändigini ýa-da üýtgemändigini görkezip biljekdigini aňladýar. Şonuň üçin synaglary ýazmagy halamasaňyzam, olardan şübhesiz peýdalary bar we olar üçin sarp edilen wagt gerek.

11. Artykmaç teswir bermek

Köp döredijiler kämillikden ejir çekýärler we täze başlanlaram muňa gabat gelmeýärler. Sometimesöne käwagt bu islegiň ters täsiri, hemmelere we hemme zada teswir berip başlamagydyr. Gerek däl zat hem, sebäbi gaty düşnükli:
Cat cat = new Cat(); // cat Object
Täzelikçi programmistleriň hemmesi teswir kodunyň hemişe gowy zat däldigine derrew düşünip bilenoklar, sebäbi kod has köp bulaşyk we okamak kyn bolar. Kod üýtgedilen bolsa, ýöne teswir ýok bolsa näme etmeli? Görnüşi ýaly, ol bizi aldap, diňe bulaşdyrar. Onda näme üçin beýle teswir berilýär? Adatça, gowy ýazylan kod düşündirişe mätäç däl , sebäbi içindäki hemme zat eýýäm düşnükli we okalýar. Teswir ýazsaňyz, koduň okalmagyny eýýäm bozup, ýagdaýy birneme düzetmäge synanyşýandygyňyzy aňladýar. Iň oňat çemeleşme, ilki bilen teswirler bilen doldurylmaly däl okalýan kod ýazmak bolar. Şeýle hem, usullaryň, üýtgeýänleriň we synplaryň dogry atlandyrylmagyny, ýagny özümiň berjaý edýän düzgünimi agzap bilmedim: Iň gowy teswir, teswiriň ýoklugy, munuň ýerine - şu ýa-da beýleki zady anyk suratlandyrýan dogry at. amaly programmaňyz.

12. Erbet at bermek

Täze programmistleriň adaty ýalňyşlyklarynyň derňewi: 1 - 6 bölümKöplenç täze başlanlar synplaryň, üýtgeýänleriň, usullaryň we ş.m. atlaryny galplaşdyrýarlar, mysal üçin, ady asla maksadyny beýan etmeýän synp döredenlerinde. Ora-da gysga at, x ýaly bir zat bilen üýtgeýji döredilýär we n we y atly ýene iki üýtgeýji döredilende, x näme edýändigini ýatda saklamak gaty kyn bolýar . Şeýle ýagdaýlarda, ol ýerde bolup geçýän zatlara düşünmek üçin kod hakda ünsli pikirlenmeli we mikroskopda (belki düzediş enjamyny ulanyp) bu funksiýany öwrenmeli. Ine, ýokarda belläp geçen kodumdaky dogry atlar bize kömek edýär. Dogry atlar koduň okalmagyny gowulandyrýar, şoňa görä tanyşlyga wagt tygşytlaýar, sebäbi adyň işleýşini takmynan suratlandyrýan usuly ulanmak has aňsat. Kodda hemme zat atlardan (üýtgeýjiler, usullar, synplar, faýl obýektleri we ş.m.) durýar, dogry, arassa kod döredilende bu nokat gaty möhüm bolýar. Adyň manysyny bermelidigini ýatdan çykarmaly däldiris: meselem, üýtgeýjiniň näme üçin barlygy, näme edýändigi we ulanylyşy. Üýtgeýjini suratlandyrmak üçin iň gowy teswiriň dogry adydygyny gaýtalap bellärin. Teswirleri has çuňňur öwrenmek we dogry atlandyrmak üçin size hemişelik klassikany okamagyňyzy maslahat berýärin: “Arassa kod. Dörediş, derňew we gaýtadan işlemek ”, Robert Martin . Bu bellikde, bu makalanyň birinji bölümi (oýlanmalar) tamamlandy. Dowam etmek üçin…
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION