SlideShare a Scribd company logo
1 of 25
Download to read offline
GUIDELINES
Sorry guys, you have to!
MILANO FRONT END MEETUP - 26/01/2016
Now full-cats powered!
About me
I'm Davide Di Pumpo and I'm a front-end developer.
I love graphic novel, competitive videogames and cats.
You can find me on the internet with the nickname
MakhBeth
- -Twitter GitHub LinkedIn
Let's start
MEOW
Before we start...
A question
Do you ever work alone?
WRONG
You will never work alone
What is a guideline?
(a.k.a. code styleguide)
A styleguide is not just a pleasing document to read,
picturing an ideal state for your code. It is a key document
in a project’s life, describing how and why code should be
written.
Hugo Giraudel
Basically you have to choice if write something like that
var named = function named() {
return true;
};
or:
var named = function named() {return true};
It's not only
AESTHETIC
(Also but not only)
A strong code design is more readable!
/* in a file far far away */
@mixin visually-hidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px; width: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
}
/* somewhere in your code */
.pippo {
@include visually-hidden();
}
.pluto {
@include visually-hidden;
}
A real example: Airbnb
// bad - unnecessary function call
function() {
var name = getName();
if (!arguments.length) {
return false;
}
this.setFirstName(name);
return true;
}
// good
function() {
var name;
if (!arguments.length) {
return false;
}
name = getName();
this.setFirstName(name);
return true;
}
So, why a guideline?
Let's see, with some cat examples!
Taken from 'sHarry Roberts CSS Guidelines
build and maintain products for a
reasonable length of time;
have developers of differing
abilities and specialties;
have a number of different
developers working on a product
at any given time;
on-board new staff regularly;
have a number of codebases that
developers dip in and out of.
Ok, you convinced me...
... but NOW?
DO. OR DO NOT.
THERE IS NO TRY.
Platone
Yeah, but how
about the
cost?
You don't have to start from scratch!
Airbnb styleguide
CSS TRICKS
Sass Guidelines
Google Styleguide
Let's see something real!
Sass
Guidelines
Next step?
Why not setup a Linter?
What is a linter?
The linter is the cat, the baby is a lazy programmer!
Questions?

More Related Content

Viewers also liked

Ppt.intan
Ppt.intanPpt.intan
Ppt.intanmustaq9
 
Seminar (financial inclusion)
Seminar (financial inclusion)Seminar (financial inclusion)
Seminar (financial inclusion)Priyabrata Panda
 
Franquias: Modelo de Negócios
Franquias: Modelo de NegóciosFranquias: Modelo de Negócios
Franquias: Modelo de NegóciosRenato Melo
 
Social Canvas no Projeto Web
Social Canvas no Projeto WebSocial Canvas no Projeto Web
Social Canvas no Projeto WebRenato Melo
 
Empreendedorismo - Resumo P2
Empreendedorismo - Resumo P2Empreendedorismo - Resumo P2
Empreendedorismo - Resumo P2Renato Melo
 
Oracle's Balance Sheet
Oracle's Balance SheetOracle's Balance Sheet
Oracle's Balance SheetOneMarlandRoad
 
Πνευματικά Δικαιώματα
Πνευματικά ΔικαιώματαΠνευματικά Δικαιώματα
Πνευματικά Δικαιώματαfotis mposmos
 

Viewers also liked (10)

Intro to JavaScript
Intro to JavaScriptIntro to JavaScript
Intro to JavaScript
 
Ppt.intan
Ppt.intanPpt.intan
Ppt.intan
 
Seminar (financial inclusion)
Seminar (financial inclusion)Seminar (financial inclusion)
Seminar (financial inclusion)
 
Vanten
Vanten Vanten
Vanten
 
Partnership (persekutuan)
Partnership (persekutuan)Partnership (persekutuan)
Partnership (persekutuan)
 
Franquias: Modelo de Negócios
Franquias: Modelo de NegóciosFranquias: Modelo de Negócios
Franquias: Modelo de Negócios
 
Social Canvas no Projeto Web
Social Canvas no Projeto WebSocial Canvas no Projeto Web
Social Canvas no Projeto Web
 
Empreendedorismo - Resumo P2
Empreendedorismo - Resumo P2Empreendedorismo - Resumo P2
Empreendedorismo - Resumo P2
 
Oracle's Balance Sheet
Oracle's Balance SheetOracle's Balance Sheet
Oracle's Balance Sheet
 
Πνευματικά Δικαιώματα
Πνευματικά ΔικαιώματαΠνευματικά Δικαιώματα
Πνευματικά Δικαιώματα
 

Similar to Guidelines! sorry guys you have to!

Twig for Drupal 8 and PHP | Presented at OC Drupal
Twig for Drupal 8 and PHP | Presented at OC DrupalTwig for Drupal 8 and PHP | Presented at OC Drupal
Twig for Drupal 8 and PHP | Presented at OC Drupalwebbywe
 
OOScss Architecture For Rails Apps
OOScss Architecture For Rails AppsOOScss Architecture For Rails Apps
OOScss Architecture For Rails AppsNetguru
 
Rasmus, Think Again! Agile Framework == Happy Php Developer
Rasmus, Think Again! Agile Framework == Happy Php DeveloperRasmus, Think Again! Agile Framework == Happy Php Developer
Rasmus, Think Again! Agile Framework == Happy Php DeveloperArno Schneider
 
Github github-github
Github github-githubGithub github-github
Github github-githubfusion2011
 
How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....Mike Harris
 
Extending js codemotion warsaw 2016
Extending js codemotion warsaw 2016Extending js codemotion warsaw 2016
Extending js codemotion warsaw 2016Francis Bourre
 
Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Jacek Tomaszewski
 
Help Me Help You: Practical Tips for Designers from A WordPress Developer
Help Me Help You: Practical Tips for Designers from A WordPress DeveloperHelp Me Help You: Practical Tips for Designers from A WordPress Developer
Help Me Help You: Practical Tips for Designers from A WordPress Developerdaraskolnick
 
Bridging the gap between designers and developers at theguardian.com
Bridging the gap between designers and developers at theguardian.comBridging the gap between designers and developers at theguardian.com
Bridging the gap between designers and developers at theguardian.comKaelig Deloumeau-Prigent
 
"Architecting and testing large iOS apps: lessons from Facebook". Adam Ernst,...
"Architecting and testing large iOS apps: lessons from Facebook". Adam Ernst,..."Architecting and testing large iOS apps: lessons from Facebook". Adam Ernst,...
"Architecting and testing large iOS apps: lessons from Facebook". Adam Ernst,...Yandex
 
Full-Stack Developer_Tech Talk_August 13
Full-Stack Developer_Tech Talk_August 13Full-Stack Developer_Tech Talk_August 13
Full-Stack Developer_Tech Talk_August 13ITviec
 
What is a Full stack developer? - Tech talk
What is a Full stack developer? - Tech talk What is a Full stack developer? - Tech talk
What is a Full stack developer? - Tech talk Bui Hai An
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksGerald Krishnan
 
Old code doesn't stink - Detroit
Old code doesn't stink - DetroitOld code doesn't stink - Detroit
Old code doesn't stink - DetroitMartin Gutenbrunner
 
Making Steaks from Sacred Cows
Making Steaks from Sacred CowsMaking Steaks from Sacred Cows
Making Steaks from Sacred CowsKevlin Henney
 
7 crazy tips that will help you
7 crazy tips that will help you7 crazy tips that will help you
7 crazy tips that will help youJessica Wilson
 
WordCamp US: Clean Code
WordCamp US: Clean CodeWordCamp US: Clean Code
WordCamp US: Clean Codemtoppa
 
CoffeeScript: A beginner's presentation for beginners copy
CoffeeScript: A beginner's presentation for beginners copyCoffeeScript: A beginner's presentation for beginners copy
CoffeeScript: A beginner's presentation for beginners copyPatrick Devins
 

Similar to Guidelines! sorry guys you have to! (20)

Twig for Drupal 8 and PHP | Presented at OC Drupal
Twig for Drupal 8 and PHP | Presented at OC DrupalTwig for Drupal 8 and PHP | Presented at OC Drupal
Twig for Drupal 8 and PHP | Presented at OC Drupal
 
OOScss Architecture For Rails Apps
OOScss Architecture For Rails AppsOOScss Architecture For Rails Apps
OOScss Architecture For Rails Apps
 
Rasmus, Think Again! Agile Framework == Happy Php Developer
Rasmus, Think Again! Agile Framework == Happy Php DeveloperRasmus, Think Again! Agile Framework == Happy Php Developer
Rasmus, Think Again! Agile Framework == Happy Php Developer
 
Github github-github
Github github-githubGithub github-github
Github github-github
 
How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....
 
Extending js codemotion warsaw 2016
Extending js codemotion warsaw 2016Extending js codemotion warsaw 2016
Extending js codemotion warsaw 2016
 
Sylius, the good choice
Sylius, the good choiceSylius, the good choice
Sylius, the good choice
 
Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1
 
Help Me Help You: Practical Tips for Designers from A WordPress Developer
Help Me Help You: Practical Tips for Designers from A WordPress DeveloperHelp Me Help You: Practical Tips for Designers from A WordPress Developer
Help Me Help You: Practical Tips for Designers from A WordPress Developer
 
Bridging the gap between designers and developers at theguardian.com
Bridging the gap between designers and developers at theguardian.comBridging the gap between designers and developers at theguardian.com
Bridging the gap between designers and developers at theguardian.com
 
"Architecting and testing large iOS apps: lessons from Facebook". Adam Ernst,...
"Architecting and testing large iOS apps: lessons from Facebook". Adam Ernst,..."Architecting and testing large iOS apps: lessons from Facebook". Adam Ernst,...
"Architecting and testing large iOS apps: lessons from Facebook". Adam Ernst,...
 
Full-Stack Developer_Tech Talk_August 13
Full-Stack Developer_Tech Talk_August 13Full-Stack Developer_Tech Talk_August 13
Full-Stack Developer_Tech Talk_August 13
 
What is a Full stack developer? - Tech talk
What is a Full stack developer? - Tech talk What is a Full stack developer? - Tech talk
What is a Full stack developer? - Tech talk
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC Frameworks
 
Javascript Best Practices
Javascript Best PracticesJavascript Best Practices
Javascript Best Practices
 
Old code doesn't stink - Detroit
Old code doesn't stink - DetroitOld code doesn't stink - Detroit
Old code doesn't stink - Detroit
 
Making Steaks from Sacred Cows
Making Steaks from Sacred CowsMaking Steaks from Sacred Cows
Making Steaks from Sacred Cows
 
7 crazy tips that will help you
7 crazy tips that will help you7 crazy tips that will help you
7 crazy tips that will help you
 
WordCamp US: Clean Code
WordCamp US: Clean CodeWordCamp US: Clean Code
WordCamp US: Clean Code
 
CoffeeScript: A beginner's presentation for beginners copy
CoffeeScript: A beginner's presentation for beginners copyCoffeeScript: A beginner's presentation for beginners copy
CoffeeScript: A beginner's presentation for beginners copy
 

More from Davide Di Pumpo

Tu chiamalo se vuoi EmotionJS
Tu chiamalo se vuoi EmotionJSTu chiamalo se vuoi EmotionJS
Tu chiamalo se vuoi EmotionJSDavide Di Pumpo
 
Il dato, il browser e il creativo
Il dato, il browser e il creativoIl dato, il browser e il creativo
Il dato, il browser e il creativoDavide Di Pumpo
 
Quella sporca dozzina (a cascata) la vendetta
Quella sporca dozzina (a cascata) la vendettaQuella sporca dozzina (a cascata) la vendetta
Quella sporca dozzina (a cascata) la vendettaDavide Di Pumpo
 
Come Javascript ha cambiato il CSS
Come Javascript ha cambiato il CSS Come Javascript ha cambiato il CSS
Come Javascript ha cambiato il CSS Davide Di Pumpo
 
Il curioso caso di Benjamino Bottone
Il curioso caso di Benjamino BottoneIl curioso caso di Benjamino Bottone
Il curioso caso di Benjamino BottoneDavide Di Pumpo
 
Quella sporca dozzina (a cascata)
Quella sporca dozzina (a cascata)Quella sporca dozzina (a cascata)
Quella sporca dozzina (a cascata)Davide Di Pumpo
 
Guida galattica per frontendisti!
Guida galattica per frontendisti!Guida galattica per frontendisti!
Guida galattica per frontendisti!Davide Di Pumpo
 
Web Animation Api MilanoJS 3rd Birthday
Web Animation Api MilanoJS 3rd BirthdayWeb Animation Api MilanoJS 3rd Birthday
Web Animation Api MilanoJS 3rd BirthdayDavide Di Pumpo
 
Css figli di un dio minore
Css figli di un dio minoreCss figli di un dio minore
Css figli di un dio minoreDavide Di Pumpo
 
Stop using Bootstrap please!
Stop using Bootstrap please!Stop using Bootstrap please!
Stop using Bootstrap please!Davide Di Pumpo
 
Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016Davide Di Pumpo
 

More from Davide Di Pumpo (16)

Tu chiamalo se vuoi EmotionJS
Tu chiamalo se vuoi EmotionJSTu chiamalo se vuoi EmotionJS
Tu chiamalo se vuoi EmotionJS
 
Il dato, il browser e il creativo
Il dato, il browser e il creativoIl dato, il browser e il creativo
Il dato, il browser e il creativo
 
Take care of your pixel
Take care of your pixelTake care of your pixel
Take care of your pixel
 
Quella sporca dozzina (a cascata) la vendetta
Quella sporca dozzina (a cascata) la vendettaQuella sporca dozzina (a cascata) la vendetta
Quella sporca dozzina (a cascata) la vendetta
 
Come Javascript ha cambiato il CSS
Come Javascript ha cambiato il CSS Come Javascript ha cambiato il CSS
Come Javascript ha cambiato il CSS
 
Il curioso caso di Benjamino Bottone
Il curioso caso di Benjamino BottoneIl curioso caso di Benjamino Bottone
Il curioso caso di Benjamino Bottone
 
Quella sporca dozzina (a cascata)
Quella sporca dozzina (a cascata)Quella sporca dozzina (a cascata)
Quella sporca dozzina (a cascata)
 
Web Animation API
Web Animation APIWeb Animation API
Web Animation API
 
Guida galattica per frontendisti!
Guida galattica per frontendisti!Guida galattica per frontendisti!
Guida galattica per frontendisti!
 
Why meet ups matter
Why meet ups matter Why meet ups matter
Why meet ups matter
 
Web Animation Api MilanoJS 3rd Birthday
Web Animation Api MilanoJS 3rd BirthdayWeb Animation Api MilanoJS 3rd Birthday
Web Animation Api MilanoJS 3rd Birthday
 
Css figli di un dio minore
Css figli di un dio minoreCss figli di un dio minore
Css figli di un dio minore
 
Stop using Bootstrap please!
Stop using Bootstrap please!Stop using Bootstrap please!
Stop using Bootstrap please!
 
Design a Design System
Design a Design SystemDesign a Design System
Design a Design System
 
Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016
 
Understanding flexbox
Understanding flexboxUnderstanding flexbox
Understanding flexbox
 

Recently uploaded

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Recently uploaded (20)

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

Guidelines! sorry guys you have to!

  • 1. GUIDELINES Sorry guys, you have to! MILANO FRONT END MEETUP - 26/01/2016 Now full-cats powered!
  • 2. About me I'm Davide Di Pumpo and I'm a front-end developer. I love graphic novel, competitive videogames and cats. You can find me on the internet with the nickname MakhBeth - -Twitter GitHub LinkedIn
  • 5. Do you ever work alone? WRONG
  • 6. You will never work alone
  • 7. What is a guideline? (a.k.a. code styleguide) A styleguide is not just a pleasing document to read, picturing an ideal state for your code. It is a key document in a project’s life, describing how and why code should be written. Hugo Giraudel
  • 8. Basically you have to choice if write something like that var named = function named() { return true; }; or: var named = function named() {return true};
  • 10. A strong code design is more readable! /* in a file far far away */ @mixin visually-hidden { border: 0; clip: rect(0 0 0 0); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; } /* somewhere in your code */ .pippo { @include visually-hidden(); } .pluto { @include visually-hidden; }
  • 11. A real example: Airbnb // bad - unnecessary function call function() { var name = getName(); if (!arguments.length) { return false; } this.setFirstName(name); return true; } // good function() { var name; if (!arguments.length) { return false; } name = getName(); this.setFirstName(name); return true; }
  • 12. So, why a guideline? Let's see, with some cat examples! Taken from 'sHarry Roberts CSS Guidelines
  • 13. build and maintain products for a reasonable length of time;
  • 14. have developers of differing abilities and specialties;
  • 15. have a number of different developers working on a product at any given time;
  • 16. on-board new staff regularly;
  • 17. have a number of codebases that developers dip in and out of.
  • 18. Ok, you convinced me... ... but NOW?
  • 19. DO. OR DO NOT. THERE IS NO TRY. Platone
  • 20. Yeah, but how about the cost?
  • 21. You don't have to start from scratch! Airbnb styleguide CSS TRICKS Sass Guidelines Google Styleguide
  • 22. Let's see something real! Sass Guidelines
  • 23. Next step? Why not setup a Linter?
  • 24. What is a linter? The linter is the cat, the baby is a lazy programmer!