|
|
|
|
|
by karmakaze
1958 days ago
|
|
I have also spent (too much) time on improving my typing--custom layouts etc--even though I was already a proficient touch typist. I realized I do way more thinking than typing and there's little benefit in productivity. I've stuck with it in the hope that it avoids RSI in the future. I always try to spend the most time on learning higher conceptual things. There are so many things that are written about, most of them are either already known/practiced, not such a big deal, or so poorly described as not to be of use. Whenever I come across one that I can't make sense of, that's what I try to understand. Of all the 'patterns' I've read or used, the one about policy vs mechanism was one that read like 'ok that seems good' but I couldn't recall consciously applying. After thinking on that a good long while, it's now becoming internalized and I see it everywhere, or clearly see where it could have been used to good effect and wasn't. In practice, it basically comes down to building an elemental set of capabilities or facilities that can then be flexibly combined to make the feature(s) you want to deliver. The best every day skill is having a style of code that conveys the important ideas in small parts without having to hunt around and reverse-engineer the idea that should have been conveyed. This is usually through a good choice of 'factors' when you refactor and giving an disproportionate amount of time naming things and mentally reading it back to see what another developer might think from reading it. |
|