JavaRush /Java Blog /Random-TK /Programma inereneri kim? Programma üpjünçiligi VS “diňe” ...

Programma inereneri kim? Programma üpjünçiligi VS “diňe” programmirlemek

Toparda çap edildi
Samer Bunanyň programma in engineeringenerçiligi bilen programmirlemegiň arasyndaky tapawutlar ýa-da programma üpjünçiligi düşünjesini ösdürmegiň “diňe kodlamakdan” tapawudy baradaky makalanyň uýgunlaşdyrylmagyny size ýetirýäris .
Programma inereneri kim?  Programma üpjünçiligi in Venerligi VS
Softwarehli programma üpjünçiligi inersenerleri kodlap bilýärler, ýöne programmistleriň hemmesi programma düşünjelerini ösdürip bilmeýärler. Käbir adamlar “Programma üpjünçiligi inereneri” (aka programma üpjünçiligi inereneri) adalgasyny halamaýarlar, sebäbi has fiziki bir zat - gurluşyk hakda aýdanymyzda köplenç “inerener” sözüni ulanýarys. Elbetde, makalamyz adalganyň özi hakda däl. Birden sizi ret etmegiňize sebäp bolsa, aňsatlyk bilen döredijilik bilen baglanyşykly bir zat bilen çalşyp bolar. “Programma üpjünçiligini dörediji”, “Programma üpjünçiliginiň awtory” ... ýa-da “Programma üpjünçiligini dörediji”!
“Programma üpjünçiligi inereneri” barada aýdanymyzda, esasy wezipesi diňe kod ýazmak däl-de, ýokary hilli programma döretmek adamy göz öňünde tutýarys. Munuň bilen birlikde, işine ylmy çemeleşme we statistiki usullary ulanyp, çagyryşyny görýär. Onuň üçin programmirlemek diňe iýmit üçin pul gazanmagyň usuly däl.
Programmalaşdyrmak ukyby adamy programma inereneri edip bilmez. Her kim kodlamagy öwrenip biler we görnüşi ýaly has aňsat. Her kim öz ulanmagy üçin ýönekeý programma döredip biler, ýöne bu şol bir programmanyň beýlekiler üçin işlejekdigini kepillendirmeýär. Iň halanýan mysalym: köpümiz duşda aýdym aýdýarys, ýöne, gynansak-da, bu çykyş hemişe professional sahna mynasyp däl. Elbetde, ýokary hilli aýdym-saz tejribesi üçin proýekte ýüz tutarsyňyz. Has köp mysal gerekmi?
  • Biziň hemmämiz mekdepde matematika we ýazuw öwrenýäris, ýöne bu bizi matematik we ýazyjy etmeýär.
  • Köpümiz geçip bolýan we käwagt gaty tagamly nahar taýýarlamaga ukyply, ýöne her kim ilçihananyň agşamlyk naharyna 100 adam üçin stol bişirmäge het edip bilmeýär. Bu ýagdaýda aşpez işe alýarys.
  • Täze jaýyňyzyň gurluşygyny Lego-dan täsirli eserler döredýän goňşyňyzyň çagasyna doly tabşyrmaga taýynmy?
Bu makalada berjek bolýan esasy pikirim, ýönekeý programmalaryň inersenerler tarapyndan taýýarlanan programmalardan düýpgöter tapawudy. Programmirleme işiniň iň ýönekeý kesgitlemesi: giriş parametrlerini göz öňünde tutup, çykyş hökmünde belli bir zat almak üçin kompýuter üçin tertipli hereketleriň yzygiderliligini düzmek. Programma üpjünçiligi in engineeringenerçiligi , köp ulanyjy üçin problemalary çözmek üçin kompýuter programmasynyň dizaýny, ýazylmagy, synagy we düzülişidir. Bu wagt synagyndan geçjek we belli bolmadyk kynçylyklar üçin işleýän ygtybarly we ygtybarly çözgütleri döretmek hakda.
Programma inereneri kim?  Programma üpjünçiligi in Venerligi VS
Programma üpjünçiligi inersenerleri, çözýän meseleleri, teklip edýän çözgütleri, şol çözgütleriň çäklendirmeleri, gizlinligi we howpsuzlygy barada hemme zady bilýärler. Meniň pikirimçe, adam meseläniň düýp manysyna düşünmese, hatda onuň çözgüdini meýilleşdirip başlamaly däldir.

In Engineeringenerçilik pikiri - amaly çözgütleri gözläň

Programma üpjünçiligi inersenerleri, esasy maksadyna programma üpjünçiligini ýazmagy göz öňünde tutmaýarlar. Zerurlyklary kanagatlandyrmak we meseleleri çözmek nukdaýnazaryndan pikir edýärler . Bu möhümdir, sebäbi her bir mesele programma üpjünçiliginiň çözgüdini talap etmeýär. Olaryň käbiri bar bolan programmalary ulanmak bilen iş salyşyp biler. Käbir meseleleriň ýüze çykmagyny käwagt öňünden çaklap bolýar we başarnykly programma dizaýnynyň kömegi bilen geljekde olaryň öňüni alyp bolýar.

"Intellektuallar problemalary çözýärler, zehinler olaryň öňüni alýarlar"

- Albert Einşteýn

Programma inereneri kim?  Programma üpjünçiligi in Venerligi VS
Çylşyrymly meseleler köplenç köp programma ýazmagy talap edýär. Programmalaryň paralel işlemegini talap edýän meseleler bar, beýlekiler birnäçe programmanyň yzygiderli ýerine ýetirilmegini talap edýär. Birnäçe meseläni diňe ulanyjylary taýýarlamak arkaly çözüp bolar. Programma döretmäge başlamazdan ozal bir programma inereneri özüne birnäçe sorag berýär:
  • Haýsy meseleleri çözmeli?
  • Olary çözmek üçin kod ýazmakdan başga näme edip bilersiňiz?
  • Bu meseleleri programma bilen aňsatlaşdyrmak üçin näme edip bilerin?

Programmanyň hili we koduň hili

Gowy programmalar düşnükli we okalýar. Olary uzaltmak, beýleki programmalar bilen gowy oýnamak aňsat we olar bilen işlemek düýş görmez. Kodyň hili barada gürleşip bolmaýar. Belent bolmaly, hemmesi. Bu meselä seredilende, kodlaýjynyň erbet keýpi ýa-da gaty berk möhletleri (ah, şol möhletler!) Excaly bahanalary kabul edip bolmaz. Programma üpjünçiligini ösdürmegiň iň möhüm taraplaryndan biri, programmany geljekde saklamak we üýtgetmek aňsat bolar ýaly dizaýn etmekdir (salam, OOP!). Häzirki wagtda programma üpjünçiliginiň hemmesi diýen ýaly üýtgedilip bilner, köplenç bu amal hatda ulanyjy gatnaşmazdan hem bolýar ýa-da ulanyjydan “programmaňyz täzelendi, OK basyň ýa-da yza süýşüriň” -den başga zat talap etmeýär. Elbetde, ulanyjylaryň programmalardan täze aýratynlyklary talap etmäge hukugy bar (esasanam, Java-da ýazylan uzak wagtlap işleýän programma üpjünçiligi ýa-da birnäçe ýyllap oýnap boljak onlaýn oýunlar hakda gürleşýän bolsak).
Java programmirleme barada has giňişleýin bilesiňiz gelýärmi? Java Developer toparyna goşulyň !
Koduň bir bölegini peýdaly diýip atlandyryp bolmaz. Programma üpjünçiliginiň peýdaly işlemegi, dürli programmalaryň biri-biri bilen aragatnaşyk saklamagy, maglumatlary alyşmagy we ulanyjylara maglumatlary we interfeýsleri hödürlemek meselesini ýerine ýetirmek üçin bilelikde işlemegi bilen başlaýar.
Programma inereneri kim?  Programma üpjünçiligi in Venerligi VS
Programmalar şu nokatlary göz öňünde tutup düzülmelidir! Haýsy habarlary alýarlar? Haýsy hadysalara gözegçilik edilýär? Hakyky tassyklamak we ygtyýarnama nädip ýüze çykýar? Gowy programmanyň başga bir möhüm alamaty, programmanyň geçen synaglarynyň sany ýa-da hatda gowy synag gurşawy däl-de, koduň aýdyňlygydyr. Simpleönekeý ýaly görünýän soraglar: “Menden başga biri meniň koduma düşünip bilermi?”, “Şu gün bu kody ýazyp, birnäçe hepdäniň içinde düşünip bilerinmi?” Programmirlemegiň iň kyn iki zady barada meşhur sitata:

"Hakykatdanam iki kyn zat bar: keş keşbini ýatyrmak we guramanyň adyny dakmak"

- Fil Karlton.

Kodyň okalmagy, adatça bolşy ýaly has möhümdir. Gynansagam, kod aýdyňlygy üçin takyk ölçegleri ýa-da parametrleri kesgitlemek mümkin däl. Umuman kabul edilen dil kadalaryny, gowy programma üpjünçiliginiň modellerini we ösüş usullaryny ýatda saklamak bölekleýin kömek eder. Emma köplenç bu ýeterlik däl. Wagt we tejribe bilen hakyky hünärmenler, aýdyňlyk duýgusyny, duýgurlyga meňzeş bir zady ösdürýärler. Hereazuw metaforasy bu ýerde gowy işleýär: köp sözleri bilmek gysga we manyly bir zat ýazmaga kömek etmez.

"Has gysga ýazardym, ýöne wagtym ýokdy".

- Mark Twen.

Bugalňyşlyklary çalt we aňsatlyk bilen düzetmek ukyby gowy programma üpjünçiliginiň esasy aýratynlygydyr. Programmadaky ýalňyşlyklar anyk habar ibermeli we yzarlamak üçin merkezde hasaba alynmalydyr. Täze ýalňyşlyk habar berlende, ony düzetjek adamyň ony düzetmek ukyby bolmaly. Ulgam bilen aňsatlyk bilen birikmeli, ýerine ýetiriş maglumatlaryna islendik wagt girmeli we ulgamyň islendik böleginiň işleýşini aňsatlyk bilen barlamaly.

Daşky gurşaw we synag

Programma üpjünçiligi inersenerleri programmalary işläp düzenlerinde, dürli arhitektura kompýuterlerinde we dürli operasiýa ulgamlary bilen işleýändiklerini anyklamak üçin elinden gelenini edýärler. Programma üpjünçiliginiň dürli çözgütlerde we ekran ugurlarynda işlemegi, şeýle hem ýadyň we işleýiş güýjüniň talap edilişinden has köp “iýmezligi” möhümdir.
Programma inereneri kim?  Programma üpjünçiligi in Venerligi VS
Web programmalary barada aýdylanda, ähli esasy brauzerlerde işlemeli. Iş stoly programmasy döredilende, onuň Mac, Windows we Linux-da dogry işleýändigine we işleýändigine göz ýetirmeli. Dogrusy, programma maglumatlara bagly, programma haýal maglumat birikdirilen ýa-da ýok bolan ýagdaýynda hem işlemeli. Programma üpjünçiligini ýazmak üçin inersenerler her dürli ssenariýa wariantlary hakda pikirlenýärler we synagdan geçirmegi meýilleşdirýärler. Bularyň hemmesi iň oňat warianty saýlamakdan başlaýar, onda hemme zat ýalňyşsyz işleýär. Soňra ýüze çykyp biljek islendik meseläni resminamalaşdyrýarlar we synag meýilnamasyna ýazýarlar. Käbir inersenerler, ähtimal ýüze çykýan kynçylyklar we ýalňyşlyklar üçin ssenariýalary simulýasiýa edýän synag kody diýip atlandyrýan kod ýazmak bilen başlaýarlar. Soň bolsa göz öňünde tutulan islendik wariant bilen işläp bilýän programma ýazylýar. Zehinli programma inereneriniň özboluşly ukyby, kod ýazmagy bilmek däl-de, programmanyň çykyş hökmünde nämäni etmelidigine we oňa nädip ýetip boljakdygyna düşünmekdir. Müşderiniň programma üpjünçiligi talaplary doly däl we ähtimal düşnüksiz bolanda, inerener olara dogry baha bermeli we “düşünmeli”.

Bahasy we netijeliligi

Programma üpjünçiligi inereneri köp halatda meseläni çalt düzedip biler. "Gymmat" tejribeli programmist işe almak, çykdajylaryňyzy artdyrar öýdýän bolsaňyz, täzeden pikirleniň. Işe alnan programmist näçe tejribeli bolsa, şonça-da ýönekeý, arassa, ygtybarly we ulanmaga aňsat çözgüt hödürläp biler. Wagtyň geçmegi bilen bu programma üpjünçiligini ösdürmek üçin çykdajylary hökman azaldar.
Programma inereneri kim?  Programma üpjünçiligi in Venerligi VS
Programmany ýerine ýetirmek üçin çykdajylary hem göz öňünde tutmaly. Islendik programma hasaplaýyş çeşmelerini ulanýar we olar mugt däl.
Programma üpjünçiligi inereneriniň işi, hasaplaýyş çeşmelerini gereksiz ulanmaýan täsirli kod ýazmak.
Mysal üçin, ýygy-ýygydan girilýän maglumatlary keş etmek, islenýän netijäni gazanmak üçin ulanylýan strategiýalaryň biridir. Thisöne bu, programmany has çalt we has netijeli edip biljek ýüzlerçe gurallaryň we çözgütleriň diňe biridir. Täzelikçi programmist size arzan çözgüt hödürläp biler, ýöne şeýle çözgüdi ulanmak ahyrky netijede size we müşderileriňize ilkinji nobatda täsirli çözgüt döreden tejribeli dörediji bilen işleşeniňizden has köp çykdajy eder.

Ulanyjy tejribesine üns beriň

Ulanyjy Tejribe (UX) göz öňünde tutup, gowy programmist ösýär. Adam bilen maşynyň özara täsiri tükeniksiz gözlegler we çözgütler bilen mowzuk. Näçe köp çözgüt ulanylsa, programma şonça gowy çykmalydyr. Ine, bu ugruň nämedigini duýmak üçin birnäçe mysal:
  • E-poçta ýaly maglumat giriş formalary düzülende, gowy programma e-poçta salgysynyň ýagdaýyna üns bermeli däldir. CAPSLOCK düwmesi basylsa ýalňyşlyk goýbermeli däldir, sebäbi e-poçta salgysy kiçi harpda üýtgeşikdir. Programma täze e-poçta salgysyny giriş hökmünde kabul etse, ulanyja nädogry salgy formatyny ulanýandyklaryny duýdurmak üçin giriş prosesinde ir barlaň. Bu çözgüt, ýiten “@” belgisi ýaly aç-açan barlaglary, şeýle hem “gmail.ocm” ýaly nyşanlaryň nädogry tertibini barlamak ýaly aç-açan barlaglary öz içine alýar.

  • Ulanyjy haýsydyr bir hereket etmek üçin ugrukdyrylanda, gowy programma häzirki ýagdaýyny ýada salmaly we gutarandan soň ony yzyna gaýtarmaly. Gowy programma, ulanyjy bilen mundan beýläk-de aragatnaşyk saklamak üçin möhüm bolan ulanyjy tarapyndan eýýäm berlen maglumatlary hem ýatda saklamalydyr.

    “Expedia” -da myhman hökmünde howa syýahatyny gözleýärsiňiz diýeliň. Soňrak hasap açmak kararyna gelýärsiňiz. Programma, öňki gözlegleriňizi täze hasapda saklamaly we olara beýleki enjamlardan girip bilmeli.


  • Programma inereneri kim?  Programma üpjünçiligi in Venerligi VS
  • Gowy programma, ulanyjynyň özüni alyp barş ssenarilerini göz öňünde tutup düzüldi. Diňe “beýle” esasda täze aýratynlyklary goşmak hökman däl, ulanyjynyň köwşüne dakyň. Bir gün uçar biletlerini bron etdim we ýygy-ýygydan uçýan belgimi goşmagy ýatdan çykardym. Tassyklamany alanymdan soň, awiakompaniýanyň web sahypasyna girip, arzanladyş almak üçin goşmagy makul bildim. Muny nädip etmelidigini bilmek üçin 10 minutlap saýt bilen gyzyklandym. Programma şeýle bir düşnüksizdi welin, zerur zatlary tapmak üçin sahypanyň dürli sahypalarynda maksatsyz aýlandym. Soň bolsa, eýýäm birnäçe gezek sag sahypada ýerleşendigime göz ýetirdim, ýöne muňa düşünmedim, sebäbi zerur meýdan ägirt uly görnüşdäki beýleki meýdanlaryň arasynda ýitdi.

    Görnüşi ýaly, syýahat maglumatyny redaktirlemek üçin formanyň ýigrimi setirini aýlamaly, wepalylyk kartoçkasynyň belgisini we telefon belgisini girizmeli boldum, onsuz tassyklamak üçin iberip bolmaýar. Bu, ulanyjynyň näderejede amatly boljakdygy hakda pikir etmän işlenip düzülen programmanyň mysalydyr.

Ygtybarlylyk, howpsuzlyk we howpsuzlyk

Meniň pikirimçe, hünärmen programma üpjünçiligini dörediji bilen höwesjeňiň arasyndaky iň möhüm tapawut, programma döredilende ygtybarlylygy, howpsuzlygy we howpsuzlygy ýaly parametrleri göz öňünde tutmakdyr.
Hakyky hünärmen, çözgüdiniň howpsuzlygy we howpsuzlygy üçin jogapkärdigini bilýär.
Programmanyň bölekleri nädogry girişlere, nädogry ýagdaýlara we nädogry täsirlere çydamly bolmalydyr. Muny ýerine ýetirmek hakykatdanam kyn we programma üpjünçiliginiň näsazlyklary sebäpli ölen adamlaryň hekaýalaryny eşitmegimiziň esasy sebäbi. Ulanyjylar girdiler, girýärler we programma nädogry maglumatlary girizmegi dowam etdirerler. Bu hakykat hökmünde kabul edilmelidir. Mundan başga-da, käbirleri programmany bozmak we elýeterli çeşmelere ýetmek maksady bilen muny ederler.
Programma inereneri kim?  Programma üpjünçiligi in Venerligi VS
Ine, hakyky durmuş mysaly: iakynda geçirilen “Equifax” maglumatlarynyň bozulmagyna jogapkär adam, köpçülige hödürlenýän ähli programma üpjünçilik önümleriniň erbet we zyýanly girişlerine garşy çözgütleri işläp düzmek üçin iş jogapkärçiligini ýerine ýetirmezlikde günäkärlenýär. Maglumat howpsuzlygy bilen baglanyşykly hadysalar diňe bir nädogry we zyýanly girişleri däl, eýsem nädogry girizilen maglumatlary hem öz içine alýar. Ulanyjy parolyny ýatdan çykaran bolsa, näçe gezek girizmäge synanyşyp biler? Ondan soň ony petiklärsiňizmi? Başga biri hasabyny ýapjak bolsa näme etmeli? Ulanyjy şahsyýet maglumatlaryny şifrlenen maglumat kanalyna iberip bilermi? Giriş haýyşy adaty bolmadyk ýerden gelen bolsa näme etmeli? Giriş synanyşygy awtomatiki ýaly görünse näme ederdiňiz? Ulanyjylaryňyzy saýtdan skriptlerden, saýtdan haýyş ýasamakdan we umumy balykçylykdan goramak üçin näme etdiňiz? Serwerleriňize DDoS hüjüm eden ýagdaýynda ätiýaçlyk strategiýaňyz barmy? Bu soraglar diňe göz öňünde tutulmaly käbir meseleleri görkezýär. Goralýan programma möhüm maglumatlary tekst görnüşinde ýatda saklamaýar. Ony çylşyrymly bir taraply şifr bilen goraýar (şifrlemek aňsat, ýöne açarsyz şifrlemek mümkin däl diýen ýaly). Bu programma döwülen halatynda ätiýaçlyk çäreleri. Hakerler şifrlenen maglumatlary özleri üçin peýdasyz taparlar. Iň oňat programmalarda-da garaşylmadyk meseleler ýüze çykýar. Occurrüze çykmagyna taýyn bolmadyk programmisti hünärmen diýip atlandyrmak kyn. Garaşylmadyk özüni alyp barşyna garaşýança, inerener däl. "Howpsuz programmalaryň awtory". Programmalardaky ýalňyşlyklar elmydama aýdyň däl. Belli ýalňyşlyklary çaklamak we öňüni almak üçin intellektual ukybymyz çäklidir. Şonuň üçin programma inersenerleri dogry we ygtybarly programma üpjünçiligini ýazmaga mümkinçilik berýän gowy gurallaryň ähmiýetine düşünýärler.

Gerekli gurallar

Dürli we gowy ösüş gurallarynyň gerekdigine şek ýok. Olaryň roly köplenç kembaha garalýar, ýöne aslynda käbir işleri ululyk tertibi bilen ýönekeýleşdirip, köp wagt we güýji tygşytlaýarlar. Faýllary ýerleşdirmek üçin henizem FTP arkaly faýl ýüklemeli bolsaňyz, göz öňüne getiriň. Chrome DevTools bolmasa düzediş ulgamyny we öndürijilik meselelerini göz öňüne getiriň! Şu günler ESlit we Prettier bolmasa JavaScript koduny ýazmak nähili netijesiz bolardy!
Programma inereneri kim?  Programma üpjünçiligi in Venerligi VS
Kod ýazanyňyzda seslenme wagtyny azaldýan islendik gural garşy alynmalydyr. Öň maňa nätanyş, ýöne hakykatdanam peýdaly we täsirli bir gural tapanymda, diňe şol bagtly pursatdan öň ulanmandygyma ökünip bilerin.
Has gowy we has döwrebap gurallar has gowy programmist bolmaga kömek eder. Olary tapyň, ulanyň, baha beriň we mümkin bolsa gowulaşdyryň. Şol bir zadyň üstünde durmaň: kim bilýär, belki täze gural bilen bir gezek gurnamaga we öwrenmäge wagt sarp edersiňiz, soň bolsa birnäçe gezek has çalt çözersiňiz?

Programma in engineeringenerçiliginiň ewolýusiýasy

Hiç kim iki aý, alty aý, hatda bir ýylda programma in engineeringenerçiligini öwrenip bilmez. Kursda, uniwersitetde ýa-da boot lagerinde programma inereneri bolmagyňy öwretmersiň. Soňky ýigrimi goşmaça ýyl bäri okaýaryn we häzirem okamagy dowam etdirýärin. Diňe müňlerçe ulanyjy tarapyndan ulanylýan programmalary öwrenmek we ösdürmek, döretmek we goldamakdan soň özümi tejribeli programmist diýip atlandyryp bildim. Programma üpjünçiligi in engineeringenerligi hemmeler üçin däl, ýöne her kim öz meselelerini kompýuter arkaly çözmegi öwrenmeli. Simpleönekeý programmalary ýazmagy öwrenip bilseňiz, hökman etmeli. Köpçülige açyk programma üpjünçiligini ulanmagy öwrenip bilseňiz, hökman etmeli. Açyk çeşme programma üpjünçiligini ulanmagy we ony özüňiz düzmegi öwrenip bilseňiz, ägirt güýç bar! Her gün döredijilere täze kynçylyklar, täze meseleler getirýär, şonuň üçin programma üpjünçiligi gerek. Bu hünäriň esasy wezipesi, adaty bir adamyň köp ýyllap işlemeli bolmazlygy üçin programma üpjünçiligini döretmekdir. Programmalar bilen täsirleşmek üçin uzak okuwlaryň zerurlygy bolmazlygy üçin. Şeýle-de bolsa, programma üpjünçiligi inersenerleri has çylşyrymly belli meseleleri çözüp biljek has gowy gurallary döretmek we täze meseleleriň mümkin boldugyça seýrek ýüze çykmagy üçin elinden gelenini etmek barada hemişe pikir edýärler.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION