Optimalisatie en organisatie kunnen veel dingen betekenen, maar wat betekent het voor u? Dingen sneller, beter of efficiënter doen? Betekent dit dat je de dingen programmatischer, eenvoudiger of met behulp van hulpmiddelen doet die beter bij je past?

Nou, naar alle waarschijnlijkheid betekent het een klein beetje van al deze. U bent waarschijnlijk een persoon die als ontwikkelaar of ontwerper werkt en voortdurend probeert uw werkstroom te optimaliseren - en deze dingen zouden zeker kunnen zijn waarnaar u op zoek bent (althans, een beetje).

Maar onthoud dat hoe veel tips en technieken je ook omarmt, het eigenlijk heel weinig is, tenzij je echt je werk doet. Met dat in gedachten, zou ik graag enkele van mijn favoriete workflows en methoden voor organisatie en optimalisatie willen aanbieden.

De meeste mensen gaan ervan uit dat ze alleen georganiseerd en efficiënt hoeven te blijven als ze in een team werken, want als je maar één persoon bent, waarom zou je dan niet je eigen organisatiemethode gebruiken? Welnu, daar is niets mis mee, maar je moet wel een aantal gestandaardiseerde technieken gebruiken om het beste uit je tijd te halen. Bijvoorbeeld versiecontrolesystemen.

Ook dingen zoals taaluploads en simplistische syntactische taaltools kunnen erg nuttig zijn. Laten we een aantal van deze op een specifiekere manier bekijken, en wees gewaarschuwd aan het einde van het artikel. Ik zal enkele code-supersets en -hulpmiddelen bespreken die zich richten op specifieke talen waarvan ik vind dat de meesten van ons ermee werken. De rest zal echter vrij breed zijn.

Gereedschap

Tools zijn een goede manier om de snelheid te verhogen waarmee u code schrijft en implementeert. Soms kunnen ze een afleiding zijn, maar meestal kunnen ze erg nuttig zijn. Ik zal het hier vooral hebben over degenen waar ik in de loop der jaren dol op ben geworden, maar er zijn er veel meer die ik niet zal behandelen - dus denk niet dat dit een volledige lijst is maar eerder een lijst van mogelijke ideeën. Zie dit, bij voorkeur, als een startpunt

Tekstbewerkers

Teksteditors zijn een onderwerp van veel controverse. Ik bedoel, laten we eerlijk zijn, we brengen het grootste deel van onze dag binnen in hen door, en daarom hebben we vaak ongelooflijk vooringenomen voorkeuren. Ik sta ook niet buiten deze kring van vooroordelen, dus verwacht hier geen journalistiek begrip van alle tekstredacteurs in de wereld. Maar liever, een paar van mijn favorieten en waarom ik ze leuk vind.

Houd er tijdens het lezen rekening mee dat ik meer dan één teksteditor gebruik en voor zeer specifieke doeleinden. Ik zal vaak een paar teksteditors gesloten houden met een client-bestand erin. Wat ik daarmee bedoel is, in Sublime Text 2 werk ik misschien aan een railsproject en heb ik 14 tabbladen erin die elke keer dat ik Sublime start, ze allemaal opent. En om dat niet te onderbreken, houd ik eigenlijk de site van een klant waar ik misschien een HTML- of CSS-ontwerp voor doe in TextMate. En met schrijven bewaar ik dat meestal in een aparte TextMate-directory in Dropbox of in Scrivener. Dus ik hou alles op die manier gescheiden. Dus natuurlijk zal ik het hebben over Sublime Text 2 (beschikbaar voor Windows en Mac) en TextMate (alleen beschikbaar voor Mac).

TextMate

TextMate is een van de beste editors die er zijn, voor Mac. Het heeft een simplistisch ontwerp, een mooie interface en een krachtige functieset. Maar een van de echte kenmerken van de kwaliteit van het product is de gemeenschap erachter. Het is ongebreideld. Ze maken bundels, scripts en vrijwel alles wat je maar kunt bedenken.

Houd er echter rekening mee dat MacroMates (de makers) echt zijn gemist in de ontwikkeling ervan. Nu, dat is misschien een beetje overdreven, maar het was jaren na datering geweest voordat ze de tweede versie creëerden, die de zorgen en problemen van veel mensen aanpakte. Met dat gezegd zijnde, het blijft nog steeds een prachtige editor en een plaats waar ik graag Markdown of code van bijna elk type schrijf. Ik gebruik het voor alles wat ik kan, wanneer ik Sublime Tekst 2 niet gebruik. Het heeft ook een mooi lettertype en veel mensen hebben boeken, artikelen, complete web-apps geschreven die allemaal deze prachtige editor gebruiken - en met goede reden. Waarom ga je niet kijken waarom, en kijk zelf maar .

Sublieme tekst 2

Sublime Text 2 is een geweldige teksteditor, maar ik weet niet zeker wat voor soort stengel er naar moet worden verwezen - dus ik zal gewoon Sublime zeggen. Subliem, als het ware, is een geweldige editor. Ik heb het nog nooit gebruikt voor versie 2, maar ik zal wel zeggen dat het gewoon prachtig is. Ik ben niet zo zeker van de verschillen - behalve het lettertype en de standaard achtergrondkleur - tussen het en TextMate. Ik zal echter wel zeggen dat ik hou van het lettertype dat het gebruikt ( ik weet het, schijnbaar onbelangrijk - maar belangrijk voor mij ), en ik ben ook dol op de manier waarop het browsen met tabbladen uitvoert.

In plaats van te praten over functies, zal ik in plaats daarvan praten over een paar andere dingen. Een ding is dat het een beetje vervelend is om, voordat je in de andere dingen springt, dat je het niet zo makkelijk kunt noemen vanuit de commandoregel als TextMate. Met TextMate typt u "mate." En het opent die map in zijn kleine projectla, het werkt gewoon perfect. Hoewel, vind Sublime nog steeds nuttig zonder die functie. Ik heb gewoon het gevoel dat werken in Sublime een genot is. Ik weet niet zeker waarom, misschien dat het werkt op een donkere achtergrond is leuk, maar ik geniet er gewoon echt van om in Sublime te werken. Ik gebruik het als ik heel veel werk moet verzetten. Dat wil zeggen, een enorm railsproject - of iets dergelijks. Ik denk dat je het ook nuttig zult vinden, dus bekijken .

Code organisatie en methodologieën

Organisatie is een onderwerp waarrond veel discussie is. Veel mensen geven niet de voorkeur aan gecompliceerde systemen om hen te helpen georganiseerd te blijven, maar in werkelijkheid kan een beetje complicatie op de korte termijn u helpen om op de lange termijn georganiseerd te blijven. Ik weet dat dat niet-intuïtief klinkt, maar het is zeer accuraat. Vooral als het gaat om versiecontrolesystemen. Neem het van mij, iemand die op FTP vertrouwde, en dat doe ik nog steeds , en ik ben nog nooit zo gelukkig geweest met het gebruik van een versiecontrolesysteem.

Het gebruik van bronbesturing is een geweldige manier om georganiseerd te blijven. Het is erg belangrijk om ervoor te zorgen dat je back-ups van je ontwikkelproces houdt, en het overlaten aan verschillende maphiërarchieën gaat dit op de lange termijn niet echt verminderen. Ik bedoel, het lijkt misschien prima als je computer draait, maar als je een crash of een harde schijf hebt, ben je nog niet helemaal klaar met verloren.

Wat kunt u doen om dit op te lossen? Welnu, je zou een versiebeheersysteem kunnen gebruiken dat een momentopname maakt van je ontwikkelingsdirectory in de loop van de tijd dat je werkt. Het gebruik van dit is echt een geweldige manier om een ​​constante nieuwe versie en een constante toegang tot back-ups te hebben als er fouten of een soort verlies zijn. Het is ook gewoon goed om een ​​periode te hebben. Ik bedoel, bedenk eens hoe vaak je was als: "Ik vraag me af hoe ik dat heb gedaan of heb die functie geïmplementeerd." Nou, nu weet je het letterlijk.

En over versiecontrolesystemen gesproken, git is een geweldige manier om dit te doen. Je hebt zelfs geen kennis van systemen zoals Mercurial of Subversion nodig om in contact te komen met het VC-systeem dat Git is. In feite had ik helemaal geen ervaring met deze systemen en kon ik behoorlijk snel met Git aan de slag.

U kunt de opdrachten rechtstreeks volgen vanuit GitHub wanneer je een repository opent, en dan gewoon die in je terminal invoert, en dan weet je letterlijk bijna alles wat je nodig hebt. Na afloop is alles wat u hoeft te doen het commit-commando uitvoeren, telkens wanneer u een wijziging wilt aanbrengen. Houd er echter rekening mee dat als u al dev-bestanden in de map hebt, u "git add." Kunt gebruiken, in plaats van het voorbeeld "touch README" om al uw bestanden toe te voegen. Zeer vergelijkbaar concept met het openen van een TextMate of een venster in de terminal, waar de periode voor een dergelijke actie staat .

Nu, voordat ik dit gedeelte afrond, zou ik willen zeggen dat ik nog nooit Mercurial of Subversion heb gebruikt, maar het zijn inderdaad mogelijke opties die vrij populair zijn onder bepaalde menigten. Er zijn zelfs websites waarmee je je bestanden kunt hosten van dergelijke systemen zoals SourceForge, net zoals GitHub dat doet.

Voordat ik klaar ben wil ik nog een laatste ding noemen. Een Git GUI die uw proces een stuk zal helpen. En dat is, Gitbox . Het is echt een geweldig programma, en eigenlijk is alles wat je hoeft te doen om het te gebruiken een Repository op dezelfde manier opgezet als elke andere tijd (vanaf de commandoregel). Vervolgens opent u gewoon GitBox en voegt u de betreffende map toe vanaf uw computer en bent u letterlijk helemaal klaar.

Elke keer dat je een wijziging aanbrengt, wordt deze automatisch opgemerkt en weergegeven in GitBox, en dan kun je een reactie op je commit achterlaten en vervolgens op Push drukken. Houd er echter rekening mee dat de methode geldt: "wijzigen -> opmerkingen (indien nodig / willekeurig) -> vastleggen -> pushen".

Zorg ervoor dat je alleen pusht nadat je je commit hebt gemaakt, anders gebeurt er niets. En als u met een team werkt, zorg er dan voor dat u een aantrekking doet voordat u opmerkingen of toezeggingen doet, of iets anders, om ervoor te zorgen dat u geen fouten maakt.

Supersets en codetools

Een superset wordt vaak gedefinieerd door een codesyntaxis of extrapolatie die boven op de onderliggende taal staat. Voorbeelden hiervan kunnen zijn dat CoffeeScript bovenop JavaScript staat - of Node.js bovenop het knooppunt zit (hoewel dat ook als een bibliotheek kan worden beschouwd). Het kan ook worden beschreven als iets dat SASS of MINDER bovenop CSS zit en dat feitelijk functionaliteit en nieuwe methoden toevoegt voor het afhandelen van dingen.

SASS voegt ook een nieuwe beschikbare syntaxis toe om te gebruiken, vergelijkbaar met hoe CoffeeScript JavaScript biedt. Een goed voorbeeld van een bibliotheek is uiteraard jQuery op JavaScript. Het is iets dat we allemaal waarschijnlijk kennen en liefhebben, maar het is een goede herinnering dat we een bibliotheek en / of superset gebruiken.

Nu zal ik niet over elke bibliotheek in de wereld praten - omdat ik ze gewoon niet allemaal heb gebruikt. Ik wil ook niet dat dit artikel zich op specifieke bibliotheken richt. In plaats daarvan heb ik ervoor gekozen om in plaats daarvan te spreken over supersets en codetools voor bepaalde talen die de meesten van ons gebruiken. Bijvoorbeeld HTML, CSS en Ruby on Rails.

In plaats van er meteen in te springen, bekijken we enkele voorbeelden om te helpen begrijpen waarom u deze tools en / of supersets zou gebruiken. Stel dat je bijvoorbeeld in CSS en HTML in Rail werkt (met je ontwikkelaar misschien, of terwijl je de ontwikkelaar bent) en je het gevoel hebt dat je tijd verspilt met het schrijven van zoveel ERB (wat is de manier waarop je Ruby-code in rails toevoegt, zal in rails schrijven - daarover meer hier ).

Wel, het zou geweldig zijn om te gebruiken HAML om het schrijven van uw HTML te versnellen, en ook om het implementeren van uw Ruby-code hierin te versnellen. HAML is een superset, van soorten, van HTML waarmee je HTML-code kunt schrijven zonder je zorgen te maken over het sluiten van je tags en het stelt je ook in staat witte ruimte in je voordeel te gebruiken - net als Python. Laten we een voorbeeld bekijken.

#wrapper%ul%li This created an unordered list, that is properly semantic.

En dat schept:

  • Test Li
  • Je kunt zeker zien hoe dat je veel tijd zou besparen. Het is ook heel leuk en schoon om te schrijven. Het is een vreugde, in alle eerlijkheid.

    Hoe zit het met die CSS? Je kunt ook veel tijd besparen om dat te schrijven! SASS biedt een vergelijkbare functionaliteit, maar zonder een nieuwe vorm van syntaxis te moeten leren. Dus met één subset van SASS (één subset van een superset) kunt u witruimte in uw voordeel gebruiken. Laten we eens kijken hoe dat is.

    .wrapper {font-size: 12em;}

    Welnu, in SASS zou dit er als volgt uitzien:

    .wrapperfont-size: 12em

    Zoals u kunt zien, hebben we in SASS geen {} of de sluitende puntkomma's nodig. We gebruiken ook de witte ruimte om aan te geven dat lettertypegrootte een onderliggend element is van de klasse "wrapper".

    Laten we zeggen dat u ook van plan bent dat alleen mensen die back-end maken devbesturingssystemen gebruiken, maar in feite zouden we allemaal moeten weten dat dit niet het geval is. Je kunt git en Github gebruiken om bij te houden elke keer dat je een code commit doet, en met tools als Gitbox was het nog nooit zo eenvoudig.

    Nu, natuurlijk, zullen jullie niet allemaal Ruby on Rails gebruiken bij het schrijven van code - maar ik veronderstel dat een groot deel van jullie werken met mensen die het gebruiken. Hoe dan ook, laten we een paar oplossingen bedenken voor een solo-persoon die niet werkt en Rails op geen enkele manier gebruikt. Voor CSS is LESS daar een geweldige oplossing voor. Zen Coding is ook een oplossing voor iedereen die niet aan Rails werkt, maar alleen de snelheid wil verhogen waarmee ze standaard HTML-tags typen. Het is echt heel handig voor iedereen. Zen-codering is heel gemakkelijk om mee te werken. o dingen zoals Zen Coding gebruiken om uw HTML-tags te vereenvoudigen. Bijvoorbeeld typen:

    ul > li*6

    Jij krijgt:

    Je kunt LESS ook nog steeds gebruiken om de mixins en variabelen en dergelijke te krijgen. Dat is vrij gemakkelijk om mee te werken.

    Misschien wil je ook een leuke tool pakken om in de terminal genaamd Go2Shell te werken. Het is gratis verkrijgbaar in de mac app store. U kunt dat gewoon gebruiken wanneer u de terminal in een specifieke map moet openen, wat vrij normaal is. Dus om het te gebruiken, wil je gewoon naar die map navigeren in je vinder en simpelweg op het programma go2shell en boem klikken dat je terminal voor dat bestand opent. Het is geweldig. En dat zal ongeveer zo lang duren, blijf op de hoogte tot na het zomerseizoen, maar voor een korte lijst met plaatsen om te bezoeken in het artikel.

    Dit zijn enkele van de handigste supersets en tools die ik ken om enkele van de beste resultaten te behalen. Ik wil echter ook graag opmerken dat dit op geen enkele manier een volledige of volledige lijst was, dus zoek er alstublieft meer over. En, zoals beloofd, hier zijn enkele van de links naar wat we in het artikel hebben aangeroerd. Gitbox , GitHub , Kompas , SASS , HAML , MINDER , Ruby on Rails . Goede jacht!