Mitä ohjelmistosuunnittelun kirjahyllylläni on

Pysyminen ajan tasalla ja jatkuva parantaminen on osa ohjelmistoinsinöörin työtä.

Internetissä on paljon tapoja tutkia uusia asioita, kuten MOOC: ita, opetusohjelmia ja artikkeleita. Kuitenkin joskus fyysinen kirja on paras vaihtoehto , varsinkin kun se on "viittaus", joka tarjoaa tietoa, joka kestää tulevina vuosina. Voimme laittaa sen kirjahyllymme ja käydä sen läpi aina, kun mielestämme on välttämätöntä.

Tämä on luettelo referenssikirjoista, joita pidän ohjelmistosuunnittelun kirjahyllylläni. Toivon, että se voi olla inspiraation lähde kaikille, jotka etsivät jotain mielenkiintoista lukea! ?

Mitä minulla on kirjahyllylläni

Suunnittelumallit: Uudelleenkäytettävien olio-ohjelmistojen elementit

Tämä on klassikko.

Tässä kirjassa ns. "Neljän jengi" esittelee 23 suunnittelumallia, jotka ajavat olio-maailmaa vuosikymmenien ajan. Siitä lähtien on luotu uusia malleja, mutta kirjan malleja pidetään kaikkien muiden mallien perustana.

Se ei ole helppo lukea, mutta sinun pitäisi tarkastella sitä vain ymmärtääksesi, mistä löydät mitä tarvitset joka kerta. Pidä se pöydälläsi ja käy läpi, kun rakennat jotain ja sinulla on tunne: "Se, mitä teen, kuulostaa tutulta." Tulet todennäköisesti huomaamaan, että yrität toteuttaa suunnittelukuvion, joka on jo kuvattu tässä kirjassa.

Puhdas koodi: Ketterän ohjelmiston käsityötaidon käsikirja

Luin tämän kirjan monta vuotta sitten, mutta se on pysynyt minussa siitä lähtien.

Tämä on hyvä lähde parhaista käytännöistä puhtaan, luettavan koodin tuottamiseksi ja koodihajujen välttämiseksi. Kirja keskittyy pääasiassa Java / OOP: een, mutta paljon neuvoja voidaan soveltaa jokaiseen kieleen tai ohjelmointiparadigmaan.

Ylläpidettävän ja luettavan koodin kirjoittaminen ei ole ylellisyyttä - siihen jokaisen hyvän ohjelmistoinsinöörin tulisi pyrkiä . Tämä kirja antaa sinulle tietoa sen toteuttamiseksi.

Bob-setä voi joskus olla hieman äärimmäinen, enkä ole hänen kanssaan samaa mieltä kaikista esitetyistä tekniikoista. Ehdotukseni: lue se ja ota mukaasi vain ne asiat, jotka tunnet olevan oikeassa. Joka tapauksessa se on lukemisen arvoinen kirja .

Opettele sinulle Haskell for great good !: Aloittelijan opas

Tämä on kirja Haskell-ohjelmointikielestä, joten miksi ostaa se ja pitää se viitteenä? Syyt ovat:

  • Se on erittäin hyvin kirjoitettu ja helposti luettava kirja ei-niin helposta aiheesta, kuten toiminnallinen ohjelmointi
  • Se antaa sinulle toiminnallisen ajattelun perustan, ei vain Haskellin syntaksin
  • Haskell on erittäin tyylikäs kieli ja pidän siitä

Tämä on kirja, joka esitteli minut toiminnalliseen ohjelmointiin. Tällä hetkellä ohjelmoin pääasiassa Scalassa, mutta siirtyminen on ollut paljon helpompaa Haskellin perusteiden oppimisen jälkeen.

Toiminnallinen ohjelmointi ei ole helppoa, mutta se avaa mielesi. Se voi olla hyvin teoreettinen, ja Haskellin käyttäminen käytännössä auttaa paljon .

Kirjassa on myös erittäin hienoja piirustuksia, joten sinulla ei ole tekosyitä olla selaamatta sitä. ?

Luokkateoria ohjelmoijille

Tämä kirja kattaa kategoriateorian , joka on toiminnallisen ohjelmointiparadigman perusta.

Aihe on melko monimutkainen muille kuin matemaatikoille, mutta kirjoittaja on ponnistellut voimakkaasti sen tekemiseksi ymmärrettäväksi kehittäjille. Myönnän, että minulla oli joitain vaikeuksia sen lukemisessa, mutta haluaisin käydä sen läpi uudelleen.

Tämän kirjan ei tarvitse tulla suureksi toiminnalliseksi ohjelmoijaksi. Lue se, jos pidät haasteista ja haluat mennä syvemmälle toiminnallisen ohjelmoinnin teoreettisiin perusteisiin.

Datatiivisten sovellusten suunnittelu: Luotettavien, skaalautuvien ja ylläpidettävien järjestelmien taustalla olevat suuret ideat

Tämä on suosikkini, ehkä siksi, että rakastan hajautettuja järjestelmiä! :-D

Tässä kirjassa Martin Kleppmann kuvailee hajautettujen järjestelmien kaikkia eri näkökohtia sarjallisuudesta yhdenmukaisuusmalleihin ja konsensukseen, joka kulkee eri tietokantamoottoreiden läpi. Hän tutkii myös uusia suuntauksia datapohjaisten sovellusten suhteen.

Pilvipohjaisten mikropalvelupohjaisten sovellusten maailmassa on tärkeää tuntea hajautetun järjestelmän eri näkökohdat. Tämän kirjan tarjoama tieto ei ole sidottu tiettyyn tekniikkaan, ja se on arvokasta koko ohjelmistotekniikan urallasi .

Vapauta se !: Suunnittele ja ota käyttöön tuotantovalmiita ohjelmistoja

Luen tätä nyt.

Olemmeko valmiit, kun ohjelmistomme on lähetetty tuotantoon? Ei, se on vasta alkua!

Tässä kirjassa korostetaan, mikä voi mennä pieleen ohjelmiston käyttöönoton jälkeen, ja sen on kohdattava todelliset käyttäjät. Se kuvaa anti-malleja, jotka voivat heikentää ohjelmistojemme vakautta, sekä ratkaisuja tällaisiin ongelmiin.

Pidän eniten tästä kirjasta siitä, että jokainen luku alkaa todellisesta elämästä otetulla esimerkillä. Sitten kirjoittaja analysoi ongelmat, jotka aiheuttivat ohjelmiston epäonnistumisen tuotannossa. Mielestäni oppiminen konkreettisista esimerkeistä on erittäin tehokas tapa.

Johdanto algoritmeihin

Mitä voin sanoa tästä kirjasta? Osta vain ja pidä sitä pöydälläsi .

Jos olet ohjelmistoinsinööri, sinulla on suuri mahdollisuus tutkia tietorakenteita ja algoritmeja. Ei ole aina helppoa käsitellä monimutkaisuutta tai valita oikea tietorakenne.

Kun epäilyksiä ilmenee, avaa tämä kirja ja löydät tarvitsemasi.

Useimmille ihmisille (myös minulle) tämä on erittäin vaikea lukea. Luen yleensä vain sen, mitä minun on tiedettävä tuolloin, ja pidän kirjaa näkyvissä pöydälläni.

Hyperfokus: Kuinka hallita huomiotasi häiriötekijöiden maailmassa

Tämä ei ole tekninen kirja, mutta se on lukujen joukossa, joka muutti elämäni paremmin.

Työmme ohjelmistosuunnittelijoina koostuu mielen ongelmien ratkaisemisesta. Ollaksemme tehokkaita tässä tehtävässä tarvitsemme kyvyn keskittyä täysin ratkaisemaamme ongelmaan .

Täältä löydät paljon ehdotuksia ja tekniikoita maksimoidaksesi ajan, jonka voit keskittyä tehtävään. Kirjoittaja keskustelee myös siitä, kuinka tärkeää on antaa mielesi vaeltaa, kun sinun on oltava luovempi.

Huomion käyttämisen hallitseminen on jotain, joka parantaa paitsi suorituskykyäsi myös elämässäsi.

Mitä lisätään kirjahyllyni

Pragmaattinen ohjelmoija

Tämä on yksi ohjelmistokehityksen tunnetuimmista kirjoista.

Tämän kirjan ehdotukset ja tekniikat vaikuttivat monien kehittäjien ja insinöörien uraan parempaan suuntaan. Kirja julkaistiin vuonna 1999, mutta se on nyt saatavana uutena ja päivitettynä 20-vuotispäivänä.

Et voi missata tätä. :-)

Refactoring: Olemassa olevan koodin suunnittelun parantaminen

On vaikea toimittaa aina korkealaatuista koodia. Määräajat, kiireellisyys, huono päivä vaikuttavat kaikki työsi laatuun.

Siksi refaktorointi on niin tärkeää. Jos emme pystyneet tarjoamaan laatua ensimmäistä kertaa, voimme parantaa sitä myöhemmin paremman huollettavuuden parantamiseksi. Martin Fowler (yksi idoleistani ohjelmistokehityksen maailmassa) kuvaa parhaita tekniikoita tehokkaaseen uudelleenrakentamiseen.

Kirjahyllyssä on aina tilaa kirjoille, jotka auttavat minua kirjoittamaan paremman koodin.

Johtopäätös

Tämä on luettelo pakollisista ohjelmistotekniikan kirjoista. Se ei suinkaan ole kattava luettelo "tärkeistä" kirjoista tällä alalla, ja olen varma, että lisäät yhä enemmän kirjoja tulevina vuosina.

Toivottavasti annoin sinulle hienoja vinkkejä seuraavasta kirjasta, jonka sinun pitäisi lukea. ?

Nähdään!?