SlideShare uma empresa Scribd logo
1 de 24
• Learning is a continuum.
• We Learn. Unlearn. Relearn.
Life=Learning
Clean And Green Code
Lalatendu Rath
The Facts of this Presentation
• Inspired by some green grass outside the
clean glass.
• As software professionals [coders and
henceforth], how do we and how can we
contribute?
• Clean and Green Code Initiative
Inspiration
Objectives
• Rebuild the lost will and power to write
beautiful code
• Inculcate a “sports culture” discipline in
coders
• Make “Code Creation” a Recreation again
• Opt to be right always.
Our Users
Our Users
• Our Users need us.
• Our Users entrust on us, their data, their
operations, their systems and their lives.
• Our Users believe that we understand
machines and machines languages better than
them.
• Our Users are our co-developers. They help us
develop better solutions, better products and
better ourselves.
• We need Our Users more.
Our Machines
Our Machines
• Our Machines/Systems Always listen to Us.
• They don’t fail Us. We fail them.
• We fail them by our inability to express
ourselves, to command them and put them
into proper use.
• Its time to feel, think and act [code/configure]
for them.
Our Processes/Tools
Our Processes/Tools
• Our Processes and Tools do NOT slow us.
• They enable Us.
Our Code
Our Code
• Code is inevitable.
• We need to “housekeep” and “reuse”.
• We would need to read code to write new
code.
• Code is the only credible documentation we
would have.
• Code will be written once and will be run
anywhere, anytime and any N of times.
• Our Code is Our Power [Our Pride].
Clean Code. What is Clean Code?
Clean Code is
• Simple[Brevity is wit but clarity is care]
• Well-indented and Well-intended
• Robust; Easy to Use And Hard to Misuse
• Runs Efficiently
• Clears all Tests
• Makes comments redundant
Clean Code=Green HOW?
Green Code
• Essentially always, clean code ends being
green.
• Test results Pass. Color is Green.
• “Alls Well” Status for PMs. Color is Green.
• Clean code is maintainable; Coders 40 hours a
week; Workstation Carbon Footprint; Green.
• Clean code executes elegantly. Overall Carbon
footprint; Green.
• BPM;RIA;SOA[SaaS]. Green Technologies.
We do not Write Clean Code.
Why?
Reasons
• Code + Commerce
• “Make it work”=“Make IT Work”
• “Not Informed/Skilled Enough”
• “Fear to Ask/Inform”
• “Cost/Price of Ownership”
We Want to Write Clean Code.
HOW?
Few Ways
• Code Smells
• Refactoring Skills And IDE Tips
• TDD and Automated Tests
• Agile Processes
We ,The Coders Pledge
We, The Coders Pledge
“We, software professionals, [coders and henceforth], know that
our users need us, invest on us and co-develop us.
Our machines listen to us and never fail us.
Our code will reach, impact, serve and outlive us.
Our processes and Our tools enable us.
We acknowledge this power and own up the responsibility and
the accountability too.
We, the coders, take the pledge that we would assure clean and
green code. ”
(C) Lalatendu Rath, “We, The Coders”2008
Thanks For Listening
Lalatendu Rath
lalatendurath@yahoo.com

Mais conteúdo relacionado

Destaque

Emprendimiento e innovación
Emprendimiento e innovaciónEmprendimiento e innovación
Emprendimiento e innovaciónremington2009
 
Palestra UX Conf BR 2015: Show me the (money) value - o usuário é quem manda
Palestra UX Conf BR 2015: Show me the (money) value - o usuário é quem mandaPalestra UX Conf BR 2015: Show me the (money) value - o usuário é quem manda
Palestra UX Conf BR 2015: Show me the (money) value - o usuário é quem mandaLuis Felipe Fernandes
 
Good Practice Guidelines for Working with Children and Young People in Refuge
Good Practice Guidelines for Working with Children and Young People in RefugeGood Practice Guidelines for Working with Children and Young People in Refuge
Good Practice Guidelines for Working with Children and Young People in RefugeLorren Stainton
 
UX para desenvolvedores - UX Conf BR 2015
UX para desenvolvedores - UX Conf BR 2015UX para desenvolvedores - UX Conf BR 2015
UX para desenvolvedores - UX Conf BR 2015Samantha Rosa
 
σύγχρονες τεχνικές διαχείρισης απαιτήσεων
σύγχρονες τεχνικές διαχείρισης απαιτήσεωνσύγχρονες τεχνικές διαχείρισης απαιτήσεων
σύγχρονες τεχνικές διαχείρισης απαιτήσεωνKostas Pappas
 

Destaque (7)

transcript
transcripttranscript
transcript
 
Emprendimiento e innovación
Emprendimiento e innovaciónEmprendimiento e innovación
Emprendimiento e innovación
 
Fest ivals
Fest ivalsFest ivals
Fest ivals
 
Palestra UX Conf BR 2015: Show me the (money) value - o usuário é quem manda
Palestra UX Conf BR 2015: Show me the (money) value - o usuário é quem mandaPalestra UX Conf BR 2015: Show me the (money) value - o usuário é quem manda
Palestra UX Conf BR 2015: Show me the (money) value - o usuário é quem manda
 
Good Practice Guidelines for Working with Children and Young People in Refuge
Good Practice Guidelines for Working with Children and Young People in RefugeGood Practice Guidelines for Working with Children and Young People in Refuge
Good Practice Guidelines for Working with Children and Young People in Refuge
 
UX para desenvolvedores - UX Conf BR 2015
UX para desenvolvedores - UX Conf BR 2015UX para desenvolvedores - UX Conf BR 2015
UX para desenvolvedores - UX Conf BR 2015
 
σύγχρονες τεχνικές διαχείρισης απαιτήσεων
σύγχρονες τεχνικές διαχείρισης απαιτήσεωνσύγχρονες τεχνικές διαχείρισης απαιτήσεων
σύγχρονες τεχνικές διαχείρισης απαιτήσεων
 

Semelhante a Clean Green Code

Practical agile TechExeter
Practical agile TechExeterPractical agile TechExeter
Practical agile TechExeterIan Ames
 
Practical Agile. Lessons learned the hard way on our journey building digita...
Practical Agile.  Lessons learned the hard way on our journey building digita...Practical Agile.  Lessons learned the hard way on our journey building digita...
Practical Agile. Lessons learned the hard way on our journey building digita...TechExeter
 
Kasten Engineering Culture Deck
Kasten Engineering Culture DeckKasten Engineering Culture Deck
Kasten Engineering Culture DeckNiraj Tolia
 
Why Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamWhy Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamRob Curry
 
Code Quality Makes Your Job Easier
Code Quality Makes Your Job EasierCode Quality Makes Your Job Easier
Code Quality Makes Your Job EasierTonya Mork
 
Agile & Test Driven Development: The Ampersand Commerce Approach
Agile & Test Driven Development: The Ampersand Commerce ApproachAgile & Test Driven Development: The Ampersand Commerce Approach
Agile & Test Driven Development: The Ampersand Commerce ApproachAmpersand
 
Why choose kost care
Why choose kost careWhy choose kost care
Why choose kost careAnu j
 
ContinuousDelivery-101
ContinuousDelivery-101ContinuousDelivery-101
ContinuousDelivery-101Kishore Bhatia
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)Peter Gfader
 
Letting the cards speak: Agile planning for SharePoint
Letting the cards speak: Agile planning for SharePointLetting the cards speak: Agile planning for SharePoint
Letting the cards speak: Agile planning for SharePointEnrique Lima
 
Distributed teams - it takes two to tango
Distributed teams - it takes two to tangoDistributed teams - it takes two to tango
Distributed teams - it takes two to tangoMille Bessö
 
Sumerge Engineering Culture
Sumerge Engineering CultureSumerge Engineering Culture
Sumerge Engineering CultureMohamed Nour
 
Shaaron A Alvares GitLab Keynote - Agile Transformation
Shaaron A Alvares GitLab Keynote - Agile TransformationShaaron A Alvares GitLab Keynote - Agile Transformation
Shaaron A Alvares GitLab Keynote - Agile TransformationShaaron A Alvares
 
Design Operations
Design OperationsDesign Operations
Design OperationsDave Malouf
 
Bootstrapping an Open-Source Program Office at Blue Cross NC
Bootstrapping an Open-Source Program Office at Blue Cross NCBootstrapping an Open-Source Program Office at Blue Cross NC
Bootstrapping an Open-Source Program Office at Blue Cross NCAll Things Open
 
Top Agile Metrics
Top Agile MetricsTop Agile Metrics
Top Agile MetricsXBOSoft
 
DevOps Picc12 Management Talk
DevOps Picc12 Management TalkDevOps Picc12 Management Talk
DevOps Picc12 Management TalkMichael Rembetsy
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing codeZivtech, LLC
 
How to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersHow to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersAXIA Consulting Inc.
 

Semelhante a Clean Green Code (20)

Practical agile TechExeter
Practical agile TechExeterPractical agile TechExeter
Practical agile TechExeter
 
Practical Agile. Lessons learned the hard way on our journey building digita...
Practical Agile.  Lessons learned the hard way on our journey building digita...Practical Agile.  Lessons learned the hard way on our journey building digita...
Practical Agile. Lessons learned the hard way on our journey building digita...
 
Kasten Engineering Culture Deck
Kasten Engineering Culture DeckKasten Engineering Culture Deck
Kasten Engineering Culture Deck
 
Why Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamWhy Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My Team
 
Code Quality Makes Your Job Easier
Code Quality Makes Your Job EasierCode Quality Makes Your Job Easier
Code Quality Makes Your Job Easier
 
01 (IDNOG01) Keynote 1 by Barry Greene
01 (IDNOG01) Keynote 1 by Barry Greene01 (IDNOG01) Keynote 1 by Barry Greene
01 (IDNOG01) Keynote 1 by Barry Greene
 
Agile & Test Driven Development: The Ampersand Commerce Approach
Agile & Test Driven Development: The Ampersand Commerce ApproachAgile & Test Driven Development: The Ampersand Commerce Approach
Agile & Test Driven Development: The Ampersand Commerce Approach
 
Why choose kost care
Why choose kost careWhy choose kost care
Why choose kost care
 
ContinuousDelivery-101
ContinuousDelivery-101ContinuousDelivery-101
ContinuousDelivery-101
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
 
Letting the cards speak: Agile planning for SharePoint
Letting the cards speak: Agile planning for SharePointLetting the cards speak: Agile planning for SharePoint
Letting the cards speak: Agile planning for SharePoint
 
Distributed teams - it takes two to tango
Distributed teams - it takes two to tangoDistributed teams - it takes two to tango
Distributed teams - it takes two to tango
 
Sumerge Engineering Culture
Sumerge Engineering CultureSumerge Engineering Culture
Sumerge Engineering Culture
 
Shaaron A Alvares GitLab Keynote - Agile Transformation
Shaaron A Alvares GitLab Keynote - Agile TransformationShaaron A Alvares GitLab Keynote - Agile Transformation
Shaaron A Alvares GitLab Keynote - Agile Transformation
 
Design Operations
Design OperationsDesign Operations
Design Operations
 
Bootstrapping an Open-Source Program Office at Blue Cross NC
Bootstrapping an Open-Source Program Office at Blue Cross NCBootstrapping an Open-Source Program Office at Blue Cross NC
Bootstrapping an Open-Source Program Office at Blue Cross NC
 
Top Agile Metrics
Top Agile MetricsTop Agile Metrics
Top Agile Metrics
 
DevOps Picc12 Management Talk
DevOps Picc12 Management TalkDevOps Picc12 Management Talk
DevOps Picc12 Management Talk
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
 
How to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersHow to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite Developers
 

Último

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Último (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

Clean Green Code

  • 1. • Learning is a continuum. • We Learn. Unlearn. Relearn. Life=Learning
  • 2. Clean And Green Code Lalatendu Rath
  • 3. The Facts of this Presentation
  • 4. • Inspired by some green grass outside the clean glass. • As software professionals [coders and henceforth], how do we and how can we contribute? • Clean and Green Code Initiative Inspiration
  • 5. Objectives • Rebuild the lost will and power to write beautiful code • Inculcate a “sports culture” discipline in coders • Make “Code Creation” a Recreation again • Opt to be right always.
  • 7. Our Users • Our Users need us. • Our Users entrust on us, their data, their operations, their systems and their lives. • Our Users believe that we understand machines and machines languages better than them. • Our Users are our co-developers. They help us develop better solutions, better products and better ourselves. • We need Our Users more.
  • 9. Our Machines • Our Machines/Systems Always listen to Us. • They don’t fail Us. We fail them. • We fail them by our inability to express ourselves, to command them and put them into proper use. • Its time to feel, think and act [code/configure] for them.
  • 11. Our Processes/Tools • Our Processes and Tools do NOT slow us. • They enable Us.
  • 13. Our Code • Code is inevitable. • We need to “housekeep” and “reuse”. • We would need to read code to write new code. • Code is the only credible documentation we would have. • Code will be written once and will be run anywhere, anytime and any N of times. • Our Code is Our Power [Our Pride].
  • 14. Clean Code. What is Clean Code?
  • 15. Clean Code is • Simple[Brevity is wit but clarity is care] • Well-indented and Well-intended • Robust; Easy to Use And Hard to Misuse • Runs Efficiently • Clears all Tests • Makes comments redundant
  • 17. Green Code • Essentially always, clean code ends being green. • Test results Pass. Color is Green. • “Alls Well” Status for PMs. Color is Green. • Clean code is maintainable; Coders 40 hours a week; Workstation Carbon Footprint; Green. • Clean code executes elegantly. Overall Carbon footprint; Green. • BPM;RIA;SOA[SaaS]. Green Technologies.
  • 18. We do not Write Clean Code. Why?
  • 19. Reasons • Code + Commerce • “Make it work”=“Make IT Work” • “Not Informed/Skilled Enough” • “Fear to Ask/Inform” • “Cost/Price of Ownership”
  • 20. We Want to Write Clean Code. HOW?
  • 21. Few Ways • Code Smells • Refactoring Skills And IDE Tips • TDD and Automated Tests • Agile Processes
  • 22. We ,The Coders Pledge
  • 23. We, The Coders Pledge “We, software professionals, [coders and henceforth], know that our users need us, invest on us and co-develop us. Our machines listen to us and never fail us. Our code will reach, impact, serve and outlive us. Our processes and Our tools enable us. We acknowledge this power and own up the responsibility and the accountability too. We, the coders, take the pledge that we would assure clean and green code. ” (C) Lalatendu Rath, “We, The Coders”2008
  • 24. Thanks For Listening Lalatendu Rath lalatendurath@yahoo.com

Notas do Editor

  1. This is an era of social activism[Web2.0] and everyone is challenged to feel, think and act wrt their contributions towards society, environment and the future. We need to inform and reassure software professionals that the reach and impact of the code that they write is immense. Its time to acknowledge the power and own up the responsibility and accountability.
  2. We do have an agenda. We have objectives. Power comes from attitude, skill and wisdom. We need to inculcate a sportive nature in coders. Sports teaches us that although we lose sometimes, we are not losers. Sports teaches us discipline, hard work and honest attempts at winning. Sports teaches us working in teams. Coding is a creative process. Followed well, it can be made re-creative. Life meets us with difficult choices. We can opt to be right now and right always.
  3. CABU Framework: Code, Application, Business, Users
  4. Our machines/systems will have fancy names and/or addresses, will use different technology [stacks], have setups and configurations, maybe less or more capable/intelligent but they will always listen to us.
  5. Our predecessors left their experiences as legacies/learnings so that we do not reinvent the wheel but carry forward from where they ended. We should be mindful of their efforts and value and learn from their suggested processes/tools.
  6. Code is inevitable and will remain so. DSLs (Domain Specific Languages), XSDs will emerge and so will auto code generation tools but all will still end up in code. Housekeep indicates a sense of responsibility and accountability.
  7. Clean Code is simple. According to laws of simplicity by John Maeda, applicable to technology, business, life and learning, simplicity is achieved via thoughtful reduction and organization of details. Savings in time feels like simplicity. Knowledge makes everything simpler. So, clean code is actually achieving this simplicity. According to most, clean code is about good formatted code. For very few, its both well indented as well as well intended. Names reveal intentions. Comments clarify intentions. Functions do what is intended. Brevity is wit but clarity is care.
  8. Test Results Pass. Color is Green. All is Well Status. Color is Green. Clean code is maintainable. Coders code for no more than 40 hours. Switching off workstations reduces the carbon footprint. Let me extend this discussion a little bit by saying that BPM,RIA and SOA [SaaS] technologies are green. BPM=>paperless forms/firms. RIA=>unwanted trips avoided. SOA[SaaS]=>Fewer servers running.
  9. We do not write clean code more often. Lets be honest and find out why.
  10. The code and commerce association has been unfortunately misinterpreted. We need to drive awareness of the CABU framework. Coding is creative and followed well, it can be recreative. Make it work is not the challenge. Making IT work is. Instant success should motivate us to make it better. We do not have evil intentions. We sometimes do not know how. We do not know and We do not ask for help. We are only made aware of the Cost/Price of Ownership. We do not value ownership anymore.
  11. We Want to Write Clean Code. But How?
  12. Code Walkthrough and Code Review skills to identify code smells, good and bad. [Design Patterns and AntiPatterns] Refactoring skills along with IDE tips and techniques. Test Driven Development and Automated Test Toolkits. Agile Processes [documentation]
  13. Let us take the coders pledge