Your SlideShare is downloading. ×
0
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Clean and Green Code
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Clean and Green Code

1,331

Published on

Published in: Technology
5 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
1,331
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
5
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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.


  • 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.
  • CABU Framework: Code, Application, Business, Users
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • We do not write clean code more often. Lets be honest and find out why.
  • 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.
  • We Want to Write Clean Code. But How?
  • 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]
  • Let us take the coders pledge
  • Transcript

    • 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.
    • 6. Our Users
    • 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.
    • 8. Our Machines
    • 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.
    • 10. Our Processes/Tools
    • 11. Our Processes/Tools • Our Processes and Tools do NOT slow us. • They enable Us.
    • 12. Our Code
    • 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
    • 16. Clean Code=Green HOW?
    • 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

    ×