- Collaborate, Communicate and meet Colleagues: Embrace the Philosophy of the Technologies you use and its Communities
- Apply Patterns, Practices and recognize "Code Smells"
- Write Beautiful Code
- Perform Testing
- The Zen of Python by Tim Peters
Pere Pages Soms
I believe that programming is both Engineering and Art. I love building software and everything that comes from it: the ability to create something new, useful and appealing is exciting.
I like simplicity, minimalism and quality. For me, code must be easy to read, consistent, testable, short and modular.
I try to write code daily, attend talks weekly and meet colleagues as often as I can.
Collaborate, Communicate and meet Colleagues
Embrace the Philosophy of the Technologies you use and its Communities
We programmers are supposed to work in teams, therefore the ability to communicate and use standars are vital. Being honest and willing to share.
Which code would I like to find from another colleague?
We must speak the same language. To do so, reading, practicing and talking with colleagues is necessary. We are architects, designers and writers. Selfdiscipline and practice make us improve. Experience is priceless.
Apply Patterns, Practices and recognize "Code Smells"
Of all the various patterns and practices, I love the Paretto principle, compose over inheritance, single area of responsibility, single source of truth... And above all, as I have mentioned, minimalism and simplicity: KISS!! (Keep it simple, stupid).
Code smells; if something sounds or looks bad, it probably is. When something sounds too complex is bad. Good ideas arise from their simplicity and that makes them beautiful. You can only detect this trhough having experience.
Write Beautiful Code
For me, quality is very important. Quality comes from code that does what you want, is maintainable and testable. Code must look neat and attractive. Not everyone can understand the beauty of code, not even many programmers, because to see it and enjoy it you have to have some experience through having collaborated with other colleagues.
In my opinion, beautiful code is short, easy to read and selfdescriptive. A relatively inexperienced person should be able to understand it and change it.
Nowadays, testing is a key area. A programmer who doesn't know how to write tests, or understand its purpose isn't worth their salt. Tests enable modular and testable code.
The Zen of Python by Tim Peters
- Beautiful is better than ugly
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
- Readability counts.
- Special cases aren't special enough to break the rules.
- Although practicality beats purity.
- Errors should never pass silently.
- Unless explicitly silenced.
- In the face of ambiguity, refuse the temptation to guess.
- There should be one—and preferably only one—obvious way to do it. Although that way may not be obvious at first unless you're Dutch.
- Now is better than never.
- Although never is often better than "right" now.
- If the implementation is hard to explain, it's a bad idea.
- If the implementation is easy to explain, it may be a good idea.
- Namespaces are one honking great idea—let's do more of those!