SlideShare una empresa de 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

Más contenido relacionado

Destacado

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
Lorren Stainton
 

Destacado (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
 
σύγχρονες τεχνικές διαχείρισης απαιτήσεων
σύγχρονες τεχνικές διαχείρισης απαιτήσεωνσύγχρονες τεχνικές διαχείρισης απαιτήσεων
σύγχρονες τεχνικές διαχείρισης απαιτήσεων
 

Similar a Clean and Green Code

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
Rob Curry
 
Why choose kost care
Why choose kost careWhy choose kost care
Why choose kost care
Anu j
 
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
Enrique Lima
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
Zivtech, LLC
 

Similar a Clean and 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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Clean and 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 del 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