Huolimatta ilmeisistä todisteista päinvastaisesta, ohjelmoijat ovat ihmisiä. Kuten kaikki ihmiset, me haluamme hyödyntää valintavapauttamme. Onko kyse valinnasta ottamalla punainen tai sininen pilleri , pukeutuminen tai housut tai yhden kehitysympäristön käyttäminen toiseen, tekemämme valinta sijoittaa meidät yhteen tai toiseen ihmisryhmään. Valinta tulee väistämättä vaihtoehtojen arvioinnin jälkeen. Ja kun olemme tehneet valinnan, meillä on taipumus uskoa, että jokainen, joka valitsee eri tavalla, teki virheen.
Voit helposti etsiä Internetistä ja löytää satoja keskusteluja Emacs vs Vim. Vaikka luisit ne kaikki, on mahdotonta valita objektiivisesti voittajaa. Kerroiko kehitysympäristön valinta sinulle kuitenkin mitään työn laadusta, jonka kehittäjä voi tarjota? Ehdottomasti ei!
TO loistava kehittäjä voisi kirjoittaa koodinsa Muistioon ja silti toimittaa hienoja juttuja.
Varmasti on monia asioita, joita ammattilaiset ottavat huomioon valitessaan työkaluja työhönsä. Tämä pätee kaikkiin ammatteihin, ohjelmistokehitys mukaan lukien. Melko usein valinta perustuu kuitenkin henkilökohtainen maku , ei jotain helposti käsiteltävää.
Ohjelmoijat viettävät suurimman osan ajastaan kehitysympäristöön, joten on luonnollista, että haluamme jotain kaunista ja toimivaa. Jokaisella kehitysympäristöllä on hyvät ja huonot puolet. Kokonaisuutena ne ovat ohjelmistokehitysalan liikkeellepaneva voima.
Mitä asioita kehittäjän tulisi arvioida valitessaan ohjelmointityökaluja, kuten valitsema ohjelmointieditori? Vastaus tähän kysymykseen ei ole niin yksinkertainen kuin se saattaa kuulostaa. Ohjelmistokehitys on lähellä taidetta, ja on melko vähän 'sumeita' tekijöitä, jotka erottavat mestariteoksen ylihinnoitetusta keräilykappaleesta.
Jokaisella ohjelmointikielellä, olipa se Java, C #, PHP, Python, Ruby, JavaScript ja niin edelleen, on omat kehityskäytäntönsä, jotka liittyvät projektin rakenteeseen, virheenkorjaukseen ja käyttöönottoon. Kuitenkin yksi asia, joka heillä kaikilla on yhteistä, on koodin muokkaaminen. Tässä artikkelissa arvioimme erilaisia kehitysalustoja ohjelmistokehityksen yleisimmän tehtävän: koodin kirjoittamisen näkökulmasta.
An integroitu kehitysympäristö (IDE) (tai interaktiivinen kehitysympäristö) on ohjelmistosovellus, joka tarjoaa kattavat palvelut tietokoneohjelmoijille ohjelmistokehitykseen. IDE koostuu tavallisesti lähdekoodieditorista, koontiautomaatiotyökaluista ja virheenkorjauksesta, ja monet tukevat paljon muita laajennuksia ja laajennuksia.
Tekstieditorit ovat yksinkertaisempia sovelluksia. IDE: hin verrattuna ne vastaavat yleensä vain IDE: n koodieditorisegmenttiä. Ne ovat kuitenkin usein paljon enemmän. IDE: t luodaan palvelemaan ohjelmistokehitystä, kun taas monet tekstieditorit on suunniteltu myös muiden kuin kehittäjien käyttöön.
Staattisesti kirjoitetut kielet voivat saada paljon etuja IDE: stä. Tiukkojen kirjoitussääntöjen takia IDE: n on mahdollista havaita virheet ja nimeämisen epäjohdonmukaisuudet luokkien ja moduulien välillä ja jopa tiedostojen välillä suoraan editorissa ennen kokoamista. Tämä toiminto on vakiona monien IDE-tiedostojen kanssa, ja siksi IDE: t ovat erittäin suosittuja staattisesti kirjoitetuissa kielissä.
On kuitenkin mahdotonta tehdä samaa asiaa dynaamisesti kirjoitetuille kielille. Esimerkiksi, jos itse koodi voi luoda menetelmän nimen, joka on rakennettu sarjasta merkkijonoja, nimivirheiden havaitseminen dynaamisilla kielillä vaatii vain todellisen ohjelman suorittamisen. Koska yksi IDE: n suurimmista eduista ei koske dynaamisia kieliohjelmoijia, heillä on suurempi taipumus pitää kiinni Sublimen kaltaisista tekstieditorista. Sivuhuomautuksena tämä on myös merkittävä syy siihen, miksi testiohjattu kehitysliike on kasvanut dynaamisten kieliyhteisöjen ympärille, eikä sillä ole ollut yhtä vahvaa seuraajaa staattisissa kielissä.
Lukuun ottamatta useita eri kielien ominaisuuksia, jokaisella ohjelmointieditorilla on oltava hyvin järjestetty ja puhdas käyttöliittymä. Myöskään estetiikkaa ei pidä unohtaa. Kyse ei ole vain hyvännäköisestä, sillä hyvin suunniteltu editori, jolla on oikea fontin ja värin valinta, auttaa pitämään silmien rasituksen alhaalla ja antaa sinun olla tuottavampia.
Nykypäivän kehitysympäristössä jyrkkä oppimiskäyrä on vastuu ominaisuuksista riippumatta. Aika on aina arvokasta, joten hyvän toimittajan tulisi olla helppo tottua. Ihannetapauksessa ohjelmoijan pitäisi pystyä aloittamaan työ heti, eikä hänen tarvitse hypätä liian monien vanteiden läpi. Sveitsin armeijan veitsi on käytännöllinen ja hyödyllinen työkalu, mutta kuka tahansa voi hallita sen muutamassa minuutissa. Samoin ohjelmoinnin toimittajille yksinkertaisuus on hyve.
Tarkastellaan tarkemmin käyttöliittymää, erilaisia ominaisuuksia ja ominaisuuksia sekä usein käytettyjä työkaluja, joiden pitäisi olla osa mitä tahansa ohjelmointieditoria.
Rivinumeroiden tulisi tietysti olla oletusarvoisesti päällä ja yksinkertaiset kytkeä päälle tai pois päältä.
Katkelmia on hyödyllistä lisätä standardoituja tekstilohkoja kiinteään asetteluun. Ohjelmointi on kuitenkin paljon sanomista vain kerran, joten ole varovainen katkelmien suhteen, koska ne saattavat vaikeuttaa koodisi ylläpitoa tulevaisuudessa.
Mahdollisuus nukata tai tarkastella syntaksia nykyinen tiedosto on hyödyllinen, samoin kuin kyky käynnistää se. Ilman tätä toimintoa ohjelmoijan on vaihdettava ulkoiseen komentorivi-ikkunaan, valittava ja suoritettava oikea komento ja selattava sitten virheilmoituksia löytääkseen virheen lähde. Nukkumisen on kuitenkin oltava ohjelmoijan valvonnassa, koska nukan aiheuttama viive voi keskeyttää kooderin ratkaisevalla hetkellä.
Inline doc on hyödyllinen niin kauan kuin se ei esty, mutta selainsivun avaaminen luokan määritelmissä on joskus hyödyllisempää, varsinkin kun on paljon toisiinsa liittyviä luokkia, jotka eivät suoraan laajenna toisiaan. Koodin leikkaaminen ja liittäminen selaimen dokumentaatiosta kirjoitettavaan koodiin on tarpeeksi helppoa, joten sisäisen dokumentaation monimutkaisuus muuttuu usein vähemmän hyödylliseksi, jopa ärsyttävämmäksi, kun ohjelmoijan tieto dokumentaatiosta kasvaa.
Sanan täydennys on hyödyllistä, koska se on nopeaa ja melkein yhtä luotettavaa kuin muokkausdokumentaatio, mutta vähemmän häiritsevä. On tyydyttävää kirjoittaa vain muutama merkki sanasta ja sitten painaa Enter saadaksesi loput. Muuten yksi työskentelee liiallisen kirjoittamisen kuormituksen alla, kauhistuttavat laiskat ohjelmoijat, jotka haluavat kirjoittaa ee
pikemminkin kuin pitempi exponentialFunctionSquared
. Sanan täydennys tyydyttää minimoimalla kirjoittamisen, noudattamalla johdonmukaista nimeämistä ja olematta estämättä.
Muuttujien ja toimintojen uudelleennimeäminen koko ohjelmassa on hyödyllistä, mutta sinun on pystyttävä tarkistamaan muutokset ja varmistamaan, että koodi ei ole rikki. Jälleen sanan täydennys on hyödyllinen puolivälissä talo, koska se toimii kaikille kielille; Voit käyttää pitkiä nimiä kohteille, joiden käyttöikä on pitkä, ilman, että kirjoitat yleiskustannuksia. Voit käyttää viittauksia niihin lyhyemmällä nimellä paikallisesti lyhentämään lausekkeita, jotka muuten saattavat levitä liian monelle riville. Jos haluat nimetä uudelleen, pitkät nimet ovat yksilöllisiä, joten tämä lähestymistapa toimii kaikilla kielillä ja kaikilla tiedostoilla.
Lähdetiedostot voivat joskus kasvaa paljon. Koodin taitto on mukava ominaisuus, joka yksinkertaistaa pitkien tiedostojen lukemista.
Etsi / muuta laajuuden rajoituksella paikallisiin, inkrementaalisiin tai globaaleihin meta-merkeillä ja säännölliset lausekkeet ovat osa vähimmäisvaatimusta nykyään, samoin kuin syntaksin korostus.
Vuosien varrella kävin läpi useita toimittajia, ja ajattelen heitä tästä:
Emacs : Yksi suosituimmista toimittajista maailmassa. Emacsin suurin ominaisuus on sen laajennettavuus huolimatta laajennuskielen monimutkaisuudesta (voit jopa pelata Tetrisiä siinä M-x tetris
). Emacs-fanit pitävät sen terminaalipohjaista käyttöliittymää erinomaisena ominaisuutena, kun taas toiset saattavat keskustella sen haittana. Henkilökohtaisen kokemukseni mukaan minusta tuntui liikaa hyväksyä ja oppia. Olen varma, että jos osaat käyttää Emacsia, et koskaan käytä mitään muuta, mutta koko kulttuurin ottaminen ja oppiminen oli enemmän kuin halusin tehdä. Siitä huolimatta sen suosio kehittäjien keskuudessa osoittaa, että se ei ole kaukana vanhojen aikojen pyhäinjäännöksistä ja että se on myös osa tulevaisuuttamme.
Vi / Vim : Vim on toinen tehokas päätepohjainen editori, ja se on vakiona useimmissa xNIX-käyttöjärjestelmissä. Sen lisäksi, että minulla on erilainen käyttöliittymä kuin Emacs, näkemykseni on käytännössä sama. Jos olet varttunut siinä, olen varma, ettet koskaan käytä mitään muuta. Vi-taitojen saaminen tekee elämästäsi huomattavasti yksinkertaisempaa, kun käytät SSH: tä ja muita ahtaita paikkoja, ja sinulla ei ole ongelmia nopeuden kanssa, kun tutustut näppäimistön näppäimiin. Vaikka oppimiskäyrä ei ole niin vaikea murtautua kuin Emacs, se on silti melko jyrkkä, ja se voisi ehdottomasti käyttää muutamia hienoja ominaisuuksia ikkunoidussa editorissa.
SublimeText : Nimensä mukaisesti SublimeText on kaunis tekstieditori, jossa on paljon ominaisuuksia. Toisin kuin jotkut vastaavat editorit, SublimeText on suljettu lähdekoodi, joten sitä ei voi muokata matalalla tasolla. SublimeText tarjoaa perinteisten tekstieditorien yksinkertaisuuden kevyellä ja nopealla käyttöliittymällä. Monien kehittäjien on helpompi käyttää kuin Vim, ja tämä pätee erityisesti uusiin tulijoihin. Oppimiskäyrä ei vain ole niin jyrkkä. Vaikka käyttöliittymä on vähäinen ja suoraviivainen, SublimeText tarjoaa muutamia hienoja ominaisuuksia, kuten pienennetyn näyttökoodin käyttöliittymän oikealla puolella, jolloin käyttäjät voivat selata koodiaan nopeasti ja liikkua suhteellisen helposti. Vaikka se ei ole täysin ilmainen, ominaisuusrajoitettu demoversio on. Kaikkien ominaisuuksien avaaminen maksaa 70 dollaria.
Atomi on seurausta GitHub-ponnisteluista tuottaa ohjelmointieditori uuden sukupolven kehittäjille. Vaikka Atom on vielä kesken, Atom on erittäin kykenevä toimittaja, jolla on vilkas kehittäjien yhteisö, joka haluaa uusia laajennuksia, JavaScript-kirjastoja ja muuta. Haittapuolia ovat jotkin käyttöliittymän omituisuudet, mahdollisuus, että jotkut lisäpaketit saattavat toimia väärin, ja raportoidut suorituskykyongelmat työskenneltäessä (erittäin) isojen tiedostojen kanssa. Hanketta kehitetään kuitenkin aktiivisesti, ja nykyiset puutteet todennäköisesti paranevat. Atom on avoimen lähdekoodin projekti, ja se voidaan helposti hakkeroida tarpeidesi mukaan.
Nano : Erinomainen ahtaassa kulmassa, mutta ei tarpeeksi rikas estääkseen väistämättömän ajatuksen pääsemisen mieleen, että tähän on oltava nopeampi tapa, kun taistellaan näppäimistön avulla koodilohkon sisennykseksi pitäen samalla kommentit rivissä sarakkeessa 80! Siinä ei ole edes tekstin korostusta, eikä sitä saa käyttää mihinkään muuhun kuin määritystiedostomuutoksiin.
TextMate2 : TextMaten suurin haittapuoli on, että se toimii vain Macissa. Kuten sen luojat sanoivat, 'TextMate tuo Applen lähestymistavan käyttöjärjestelmiin tekstieditorien maailmaan.' Yhdistämällä UNIX-perustekijät ja graafisen käyttöliittymän, TextMate kerää molempien maailmojen parhaat puolet hyödyksi sekä käsikirjoittajien että aloittelijoiden kannalta. Se on monien Ruby-, Python- ja JavaScript-kehittäjien valitsema toimittaja, joka tukee hyvin myös Bashia tai Markdownia. Tämän artikkelin julkaisuhetkellä TextMate 2 on edelleen beetaversiossa, mutta sillä on jo hyvin kypsä laajennusekosysteemi, joka lupaa laajentaa sitä jopa Emacsin laajennusten ulkopuolelle.
jMuokkaa : Java-pohjainen ja joidenkin mielestä hidas. Laatikon ulkopuolinen kokoonpano saattaa työntää tiettyjä ihmisiä pois, mutta jEdit voi olla erittäin nopea, jos se on määritetty oikein, sekä erittäin mukava näyttää.
Pimennys : Toinen laajasti käytetty IDE, Eclipse, on erittäin suosittu Java-kehittäjien keskuudessa, mutta sitä on mukautettu monille eri alustoille. Voisimme väittää, että sen monoliittinen arkkitehtuuri on kallio, joka vetää sen veden alle, mutta se on silti yksi suosituimmista alustoista kehittäjien keskuudessa.
Aptana Studio : Kattava avoimen lähdekoodin verkkosovellus IDE. Se on saatavana Eclipse-laajennuksena, mikä tekee siitä suositun joidenkin Java-kehittäjien keskuudessa. Erillinen versio on vieläkin kevyempi ja tarjoaa erilaisia teemoja ja mukautusvaihtoehtoja. Aptanan projektinhallintavalmiudet voivat olla hyödyllisiä myös koodereille, jotka hioivat taitojaan Eclipse-ohjelmassa. Vaikka aiemmat versiot kärsivät joidenkin laitteistoalustojen suorituskykyongelmista, nämä ongelmat käsiteltiin Aptana Studio 3: ssa, ja niiden pitäisi olla menneisyyttä.
NetBeans : Toinen suhteellisen suosittu avoimen lähdekoodin IDE, jossa on alustojen välinen tuki. Se on käynnistyksen yhteydessä jonkin verran hitaampi kuin vähäiset muokkaajat, kuten SublimeText, ja lisäosien valinta on rajallinen verrattuna joihinkin vaihtoehtoihin. Monet Java-kehittäjät ovat rakastaneet NetBeansia saumattoman SCM-integraation ja HTML5-tuen ansiosta. NetBeans-tuki PHP: lle on myös parantunut uusimmissa julkaisuissa.
JetBrains : Tarjoaa IDE-perheen Java-, Ruby-, Python- ja PHP-tiedostoille. Ne kaikki perustuvat samaan ydinmoottoriin. JetBrains IDE: t ovat saaneet itsestään erittäin kykenevän kasvavan seuraajan. Ne eivät kuitenkaan ole ilmaisia, avoimen lähdekoodin ratkaisuja, vaikka 30 päivän kokeilujakso on käytettävissä, ja hinnoittelu on kohtuullista.
Komodo Muokkaa : Komodo Editilla on suuri potentiaali, mutta silti se on täynnä ärsyttäviä pieniä 'gotchoja' ja omaleimaisuuksia, jotka voivat olla turhauttavia sen ortogonaalisuuden puutteen vuoksi. Komodo Edit tuntuu sekaisin, mikä on sääli, koska sillä on selvästi valtava kyky. Palaan Komodo Editiin toivoen, että olen jättänyt jonkun järjestelyperiaatteen, ja joka kerta, kun epäterveellisen kykyinen hitsaaja lyö minut takaisin.
Geany : Geany ei ole merkittävä tehopelaaja, kuten monet muut tämän luettelon toimittajat. Sen määrittelee enemmän 'mitä se ei ole' kuin 'mikä se on'. Se ei ole hidasta, sillä ei ole paljon vanhojen aikojen perintöä, sillä ei ole makrokapasiteettia tai suurta osaa usean ikkunan puskurikyvystä. Silti mitä se tekee, se toimii tarpeeksi hyvin. Se on ehkä vähiten vaativa kaikista toimittajista, joita yritin ja pystyn edelleen tekemään 90 prosenttia siitä, mitä voit odottaa ohjelmoijan toimittajalta. Geany näyttää tarpeeksi hyvältä Ubuntussa, mikä on yksi syy siihen, miksi valitsin sen ensisijaiseksi editoriksi.
Olisi ylimielistä julistaa vain yksi parhaaksi ohjelmointieditoriksi näiden upeiden työkalujen joukossa. Ja on olemassa useita toimittajia, joita en edes kokeillut. Kaikille sopivia ratkaisuja ei ole. Tämä pakotti minut kokeilemaan useita eri toimittajia; Jos olet kiinnostunut editorin pitkäikäisyydestä, sinun kannattaa myös lukea Roben Kleenen arvio koodieditorista .
Käytän tällä hetkellä Geanya, mutta se johtuu siitä, että se sopii vaatimuksiini. Geanyn avulla ja paljon apua Perl / Gimp / Audacity / Soxilta pystyn kehittämään ja ylläpitämään Java-koodipohjaa Android-sovellukset Kehitän, valmistelen niitä kokoelmia varten eri kokoonpanoissa useille jakelijoille, lähteen, nukan, kääntämisen, dexin ja tuotannon .apk
tiedostoja ja toimittaa nämä sovellukset maailmanlaajuisesti.
Kehityslinjasi saattaa määrätä erilaisia vaatimuksia, ja toivon, että säästin aikaa tutkia sopivimpia ohjelmointitoimittajia.
Liittyvät: Kielipalvelimen protokollan opetusohjelma: VSCodesta Vimiin