Optimering och organisation kan betyda många saker, men vad betyder det för dig? Göra saker snabbare, bättre eller effektivare? Beträffar det att göra saker mer programmässigt, enkeltvist eller med hjälp av verktyg som är mer lämpade för jobbet?

Tja, med all sannolikhet betyder det lite av alla dessa. Du är nog en person som arbetar som utvecklare eller designer och försöker hela tiden optimera ditt arbetsflöde - och det kan väl vara det du letar efter (åtminstone lite).

Men kom ihåg att många tips och tekniker du omfamnar betyder det faktiskt väldigt lite om du inte gör ditt arbete. Så med det i åtanke skulle jag vilja erbjuda några av mina favorit arbetsflöden och metoder för organisation och optimering.

De flesta antar att de bara behöver vara organiserade och effektiva om de arbetar i ett lag, för trots allt om du bara är en person varför inte använda din egen organisationsmetod? Tja, det är inte något fel med det i sig, men du behöver använda vissa standardiserade tekniker för att få ut det mesta av din tid. Till exempel versionskontrollsystem.

Också saker som språkuppsättningar och förenklade språksyntaxverktyg kan vara till stor hjälp. Låt oss dyka in på några av dessa på ett mer specifikt sätt och vara medveten om slutet av artikeln kommer jag att gå över några koduppsättningar och verktyg som fokuserar på specifika språk som jag tycker att de flesta av oss arbetar med. Resten kommer dock att vara ganska brett scoped.

Verktyg

Verktyg är ett utmärkt sätt att öka hastigheten där du skriver och implementerar kod. Ibland kan de vara en distraktion, men oftast kan de vara till stor hjälp. Jag kommer att prata om huvudsakligen om de som jag har blivit vuxen att älska genom åren men det finns många fler där ute som jag inte kommer att täcka - så tycker inte att det här är en uttömmande lista utan snarare en lista över möjliga idéer. Tänk på detta, helst som en hoppa av punkt

Textredigerare

Textredigerare är ett ämne av mycket kontrovers. Jag menar, låt oss möta det, vi spenderar det mesta av vår dag inuti dem, och därför har vi ofta otroligt förtjusta preferenser. Jag är inte heller utanför denna biaskrets, så förvänta dig inte en journalistisk förståelse för alla textredaktörer i världen här. Men snarare några av mina favoriter och varför jag gillar dem.

När du läser detta, kom ihåg att jag använder mer än en textredigerare och för mycket specifika ändamål. Jag kommer ofta att hålla några textredigerare stängda med en klientfiler inuti dem. Vad jag menar med det är, i Sublime Text 2 kan jag jobba på ett railsprojekt och ha som 14 flikar drog upp därifrån att när jag börjar Sublime öppnar den dem alla upp. Och för att inte avbryta det, behåller jag faktiskt en kunds webbplats. Jag kan göra en HTML- eller CSS-design för TextMate. Och med skrivning behåller jag vanligtvis det i en separat TextMate-katalog i Dropbox eller i Scrivener. Så jag håller allt separat på så sätt. Så, naturligtvis, kommer jag att prata om Sublime Text 2 (tillgänglig för Windows och Mac) och TextMate (endast tillgängligt för Mac).

Textmate

TextMate är en av de bästa redaktörerna där ute, för Mac. Den har en enkel design, ett vackert gränssnitt och en kraftfull funktionssats. Men en av de sanna identifierarna av produktens kvalitet är samhället bakom det. Det är överflödigt. De skapar buntar, skript och nästan allt du kan tänka dig.

Men kom ihåg att MacroMates (skaparna) verkligen saknats i sin utveckling. Nu kan det vara lite av en överdrift, men det hade gått många år innan de skapade den andra versionen som tog upp många människors bekymmer och problem. Med det sagt är det fortfarande en vacker redaktör och en plats jag älskar att gå för att skriva Markdown eller kod av nästan vilken typ som helst. Jag använder den för allt jag kan, när jag inte använder Sublime Text 2. Det har också en vacker typsnitt, och många har skrivit böcker, artiklar, hela webbapps som alla använder den här vackra redaktören - och med goda skäl. Varför går du inte kolla varför, och se efter själv .

Sublim Text 2

Sublime Text 2 är en bra textredigerare, men jag är inte säker på vilken typ av stenografi som ska hänvisas till det - så jag ska bara säga Sublime. Sublim, som det var, är en bra redaktör. Jag har aldrig använt den före version 2, men jag kommer att säga att det bara är underbart. Jag är inte så säker på skillnaderna - annat än teckensnittet och standard bakgrundsfärg - mellan det och TextMate. Jag kommer dock att säga att jag älskar det teckensnitt som det använder ( jag vet, synes oväsentligt - men viktigt för mig ), och jag älskar också hur det gör den flikade webbläsningen.

Istället för att prata om funktioner kommer jag istället att prata om några andra saker. En sak om det som är lite av smärta, innan du hoppar in i andra saker , är att du inte kan kalla det från kommandoraden lika enkelt som TextMate. Med TextMate skriver du bara "kompis" och det öppnar den katalogen i sin lilla projektlådan. Den fungerar bara perfekt. Även om du fortfarande hittar Sublime användbar utan den funktionen. Jag känner bara att arbeta i Sublime är en glädje. Jag är inte säker på varför, kanske det är att arbeta på en mörk bakgrund är trevligt, men jag trivs bara med att arbeta i Sublime. Jag använder den när jag behöver få en stor mängd arbete utfört. Det är ett massivt railsprojekt - eller liknande. Jag tror att du hittar det bra också, så Kolla in det .

Kod organisation och metoder

Organisationen är ett ämne där det finns mycket debatt. Många människor föredrar verkligen inte komplicerade system för att hjälpa dem att hålla sig organiserade, men i verkligheten kan en del komplikationer på kort sikt hjälpa dig att hålla dig organiserade på lång sikt. Jag vet att det låter inte-intuitivt, men det är mycket korrekt. Särskilt när det gäller versionskontrollsystem. Ta det från mig, någon som åberopade FTP, och jag gör det fortfarande ibland , och jag har aldrig varit lyckligare med ett versionsstyrningssystem.

Att använda källkontroll är ett bra sätt att hålla sig organiserade. Att vara säker på att du håller säkerhetskopior av din utvecklingsprocess är verkligen viktigt, och att lämna upp det till olika mapphierarkier kommer inte att skära det på lång sikt. Jag menar att det kan tyckas bra när datorn är igång, men om du har en krasch eller ett fel på hårddisken, är du lite fullbordad förlorad.

Vad kan du göra för att lösa det här? Tja, du kan använda ett versionsstyrningssystem som tar en ögonblicksbild av din utvecklings katalog under de tider du arbetar. Att använda detta är ett riktigt bra sätt att få en ständig ny version och en stadig tillgång till backup om det skulle vara buggar eller någon form av förlust. Det är också bara bra att ha period. Jag menar, tänk på hur många gånger du var "Jag undrar hur jag gjorde det eller genomförde den funktionen." Nå, nu vet du bokstavligen.

Och talar om versionsstyrningssystem är git ett bra sätt att göra detta. Du behöver inte ens någon kunskap om system som Mercurial eller Subversion för att komma i kontakt med VC-systemet som är Git. Faktum är att jag inte hade någon erfarenhet av dessa system alls och började springa med Git ganska snabbt faktiskt.

Du kan följa kommandona direkt från GitHub när du öppnar ett arkiv och sedan bara matar in dem till din terminal, så vet du bokstavligen nästan allt du behöver. Därefter allt du behöver göra är att göra commit kommandot, när som helst du vill göra en förändring. Men kom ihåg om du redan har dev-filer i mappen kan du använda "git add." I stället för exemplet "touch README" för att lägga till alla dina filer. Mycket liknande koncept att öppna en TextMate eller ett fönster i terminalen, där perioden anger en sådan åtgärd .

Nu, innan jag slutar på det här avsnittet skulle jag vilja säga att jag aldrig har använt Mercurial eller Subversion, men faktiskt är de möjliga alternativ och är ganska populära bland vissa folkmassor. Det finns även webbplatser som låter dig vara värd för dina filer från sådana system som SourceForge, som GitHub gör.

Innan jag avslutar vill jag nämna en sista sak. En Git GUI som hjälper din process ganska lite. Och det är, Gitbox . Det är ett riktigt bra program, och i grund och botten allt du behöver göra för att använda det är ett arkiv på samma sätt som du skulle någon gång (från kommandoraden). Då öppnar du bara GitBox och lägger till i den aktuella katalogen från din dator, och du är bokstavligen alla inställda.

När som helst du ändrar det kommer det automatiskt att märkas och visas i GitBox, och sedan kan du gå om att lämna en kommentar till ditt åtagande och sedan trycka på det. Kom dock ihåg att metoden går: "ändra -> kommentarer (om det behövs / någon) -> commit -> push".

Se till att du bara trycker efter att du har begått dig, annars kommer inget att hända. Och om du arbetar med ett lag, se till att du gör ett drag innan du gör kommentarer, förbinder eller något, för att se till att du håller dig borta från eventuella fel du kan ha.

Supersets och kodverktyg

En superset definieras ofta av en kodsyntax eller extrapolering som sitter ovanpå språket under det. Exempel på detta kan vara CoffeeScript sitter ovanpå JavaScript - eller Node.js sitter ovanpå Node (även om det också kan betraktas som ett bibliotek). Det kan också beskrivas som något liknande SASS eller LESS sitting ovanpå CSS som faktiskt lägger till funktionalitet och nya metoder för att hantera saker.

SASS lägger också till en ny tillgänglig syntax för att använda liknande som CoffeeScript erbjuder till JavaScript. Ett bra exempel på ett bibliotek skulle vara jQuery på JavaScript, förstås. Det är något som vi alla noga vet och älskar, men det är en bra påminnelse om att vi använder ett bibliotek och / eller superset.

Nu ska jag inte prata om varje bibliotek i världen - för att jag helt enkelt inte har använt dem alla. Jag vill inte heller att denna artikel fokuserar på specifika bibliotek. Därför har jag valt att tala om supersets istället och kodverktyg för vissa språk som de flesta använder. Exempelvis HTML, CSS och Ruby on Rails specifikt.

I stället för att hoppa direkt in, låt oss ta en titt på några exempel för att förstå varför du skulle använda dessa verktyg och / eller supersets. Låt oss säga att du arbetar i CSS och HTML i Rail (med din utvecklare kanske eller samtidigt som du är utvecklaren) och du känner att du slösar bort tid att skriva så mycket ERB (vilket är sättet du lägger till Ruby-kod i skenor du kommer att skriva i skenor - mer på det här ).

Tja, en bra sak att göra skulle vara att använda HAML för att påskynda skrivandet av din HTML, och också för att påskynda implementeringen av din Ruby-kod i den. HAML är en superset, av olika slag, av HTML som låter dig skriva HTML-kod utan att behöva oroa dig för att stänga dina taggar och det låter dig också använda white-space till din fördel - ungefär som Python. Låt oss ta en titt på ett exempel.

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

Och det skapar:

  • Test Li
  • Du kan säkert se hur det skulle spara dig mycket tid. Det är också riktigt roligt och rent att skriva. Det är en glädje, i all ärlighet.

    Vad är det med den CSS? Du kan spara mycket tid på att skriva det också! SASS erbjuder en mycket liknande funktionalitet, men utan att behöva lära sig en ny form av syntax. Så med en delmängd av SASS (en delmängd av en superset) kan du faktiskt använda white-space till din fördel. Så låt oss ta en titt på vad det är.

    .wrapper {font-size: 12em;}

    Tja, i SASS skulle det här se ut:

    .wrapperfont-size: 12em

    Som du kan se, i SASS behöver vi inte {} eller de stängande halvkolonerna. Vi använder också det vita utrymmet för att ange att teckensnittet är ett barnelement i "wrapper" -klassen.

    medLet säger du Du antar också att endast personer som gör backend dev använder versioning kontrollsystem, men i själva verket borde vi alla veta nu är det inte så. Du kan använda git och Github för att hålla koll på varje gång du gör ett kodfördrag, och med verktyg som Gitbox har det aldrig varit enklare.

    Nu, naturligtvis, inte alla kommer att använda Ruby on Rails när du skriver kod - men jag antar att en bra del av dig arbetar med personer som använder den. Hur som helst, oavsett låt oss täcka några lösningar för en solo person som inte arbetar eller använder Rails på något sätt. För CSS LESS är det en bra lösning på det. Zen Coding är också en lösning för alla som inte arbetar med Rails, men vill bara påskynda den takt som de skriver typiska HTML-taggar på. Det är verkligen väldigt användbart för alla. Zen kodning är verkligen lätt att börja arbeta med. o Använd saker som Zen Coding för att underlätta dina HTML-taggar. Till exempel skriva:

    ul > li*6

    du får:

    Du kan även använda MINDRE för att få mixins och variabler och så. Det är ganska lätt att arbeta med.

    Du kanske också vill ta ett bra verktyg för att arbeta i terminalen kallad Go2Shell. Det finns gratis på Mac App Store. Du kan bara använda det när du behöver öppna terminalen i en specifik katalog, vilket är ganska vanligt. Så att använda den du vill bara navigera till den katalogen i din finder och helt enkelt klicka på programmet go2shell och boom din terminal öppnas för den filen. Det är fantastiskt. Och det kommer att göra om att paketera upp det för tillfället, håll dig stillastående efter sommaren men för en kort lista över ställen att besöka från artikeln.

    Det är några av de mest användbara superset och verktyg som jag känner till för att få några av de bästa resultaten. Jag skulle dock vilja nämna att detta inte var en uttömmande eller fullständig lista på något sätt, så snälla gå vidare och ta reda på mer om det. Och, som lovat, här är några av länkarna till vad vi berörde i artikeln. Gitbox , GitHub , Kompass , SASS , HAML , MINDRE , Ruby on Rails . Glad jakt!