About Best Practices
Why do I need Best Practices?
On the interweb, you can read more and more about this topic. From IT and DEV subjects to anything ingegneristic related, and a lot of times you read about it, you can find it spoken out of turn and missing the target while using the mythical Best Practices.
The main point, that should be always be taken into account is that a practice, to be a Best Practice, must be sensible (and you'll train the practical sense which will help you on exercise the right discernment), has to be general enough to be applied at a wide range of scopes, but small and atomic enough to be managed without an effort; the aim behind agile workout is obviously not to hurt yourself, just a bit like āsana in yoga: well defined practices, which would lead to visible improvements in measurable times, therefore viewable in their entirety and easy to apply repeatedly and as much as possible in each phase of project management: from analysis to development.
The vast majority of my posts and articles will be about this topic, which I always loved as the lazy engineer I am (as well as any good engineer should be ;-), but expert (as well as any good engineer MUST be). Developing better and better deserves a certain amount of effort, vision and dedication, but all this must be aimed at constantly evolving, constantly raising practice abstraction, going from "how could I do it?" to "what do I want to do?", reaching out the final objective: No Code Programming Kaivalya (yes, you read right, I'm trying to make myself useless, and I also do it knowingly! So great a genius I am, ain't it? :-). Well! As a side, but important note, I write it promptly: developing well, with quality in mind, does have nothing to do with using with proficience an IDE to which we tend to rely on uncritically, as well as it doesn't mean to user no-code-tools in the form of more and more powerful IDEs: programming languages and methodologies of choice, frameworks and the way to approach development are all aimed at writing less and less code. The more we get close to No Code Development, the more IDEs get useless: they are just an inelegant way to manage not well thought and designed blobs of code, with few modular design (or simply not mature enough).
In next articles I'd like to explore the marvelous world of meta-programming and designing, making a wide use of base concepts like: Pragmatic Approach, KISS&DRY(ness), Data Driven Interaction, Self Containment (let me add Through Meta Programming) and all the Best Practices which in a way or the other proved themselves worthy to be used to deliver a quality software in timely manners (obviously if you know what you are doing... Yes, it really looks like the classic "Power is nothing without control" advertising launch, but if you think about it, it's just like that).
Let me say to remember the happy smile above, it smiles and also you have to bear that same ecstatic face, knowing you have produced the best code... 'till now. :-D