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.
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
• Learning is a continuum.
• We Learn. Unlearn. Relearn.
Clean And Green Code
The Facts of this Presentation
• Inspired by some green grass outside the
• As software professionals [coders and
henceforth], how do we and how can we
• Clean and Green Code Initiative
• Rebuild the lost will and power to write
• Inculcate a “sports culture” discipline in
• Make “Code Creation” a Recreation again
• Opt to be right always.
• 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
• Our Users are our co-developers. They help us
develop better solutions, better products and
• We need Our Users more.
• 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]
• Our Processes and Tools do NOT slow us.
• They enable Us.
• Code is inevitable.
• We need to “housekeep” and “reuse”.
• We would need to read code to write new
• Code is the only credible documentation we
• 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?
• Essentially always, clean code ends being
• 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
• BPM;RIA;SOA[SaaS]. Green Technologies.
We do not Write Clean Code.
• 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.
• 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