3 ms·
yegor from yegor256.com Did an award in 2015[0] for good quality software projects. I think his evaluation points are sensible: "Each project must be: * Open s
by elviejo 10y ago
yegor from yegor256.com
Did an award in 2015[0] for good quality software projects.
I think his evaluation points are sensible:
"Each project must be:
* Open source (in GitHub).
* At least 5,000 lines of code.
* At least one year old.
* Object-oriented (that's the only thing I understand).
The best projects will feature (more about it):
* Strict and visible principles of design.
* Continuous delivery.
* Traceability of changes.
* Self-documented source code.
* Strict rules of code formatting.
What doesn't matter:
* Popularity.
* Programming language.
* Buzz and trends. "
In the end there 158 submissions, 12 finalist and 1 winner.
Check them out.
http://www.yegor256.com/2015/04/16/award.html http://www.yegor256.com/2015/04/16/award.html
- franciscop 10y agoTL;DR (the article) this is the winner: - https://github.com/suseika/inflectible https://github.com/suseika/inflectible
- pacala 10y agoSome caution around yegor's list. One of the criteria is "avoid -er anti-pattern", which links to http://www.yegor256.com/2015/03/09/objects-end-with-er.html http://www.yegor256.com/2015/03/09/objects-end-with-er.html. I'll just quote a little gem: > Let's get back to class names. When you add the "-er" suffix to your class name, you're immediately turning it into a dumb imperative executor of your will. You do not allow it to think and improvise. You expect it to do exactly what you want — sort, manage, control, print, write, combine, concatenate, etc. For the curious, the conundrum can be trivially solved via ```apples.min```, or perhaps ```Collections.min(apples)``` in a noun-biased language.