16

Lessons I've learnt so far on programming

-- Your best written code today can be your worst tomorrow (Focus more on optimisation than style).
-- Having zero knowledge of a language then watching video tutorials is like purchasing an arsenal before knowing what a gun is (Read the docs instead).
-- It's works on my machine! Yes, because you built on Lenovo G-force but never considered the testers running on Intel Pentium 0.001 (Always consider low end devices).
-- "Programming" is you telling a story and without adding "comments" you just wrote a whole novel having no punctuation marks (Always add comments, you will thank yourself later for it I promise).
-- In programming there is nothing like "done"! You only have "in progress" or "abandoned" (Deploy progressively).
-- If at this point you still don't know how to make an asynchronous call in your favourite language, then you are still a rookie! take that from me. (Asynchronous operation is a key feature in programming that every coder should know).
-- If it's more than two conditions use "Switch... case" else stick with "If... else" (Readability should never be under-rated).
-- Code editors can MAKE YOU and BREAK YOU. They have great impact on your coding style and delivery time (Choose editors wisely).
-- Always resist the temptation of writing the whole project from scratch unless needs be (Favor patching to re-creation).
-- Helper methods reduces code redundancy by a large chunk (Always have a class in your project with helper methods).
-- There is something called git (Always make backups).
-- If you don't feel the soothing joy that comes in fixing a bug then "programming" is a no-no (Coding is fun only when it works).
-- Get angry with the bugs not the testers they're only noble messengers (Bugs are your true enemy).
-- You would learn more than a lot reading the codes of others and I mean a lot! (Code review promotes optimisation and let's you know when you are writing macaroni).
-- If you can do it without a framework you have yourself a big fat plus (Frameworks make you entirely dependent).
-- Treat your code like your pet, stop taking care of it and it dies! (Codes are fragile and needs regular updates to stay relevant).

Programming is nothing but fun and I've learnt that a long time ago.

Comments
  • 3
    You've seen the switch light, take a look at pattern matching. You'll never want to write discrete branches ever again 😈

    https://wiki.c2.com//...
  • 1
    "Get angry with bugs not testers" 👌
  • 1
    @SortOfTested on the first glance looks like "Object deconstructing" in javascript but more complex. I was expecting more regexp etc.
  • 1
    @melezorus34
    Sort of? it's about defining explicit cases from constant values or runtime expressions and recursive patterns that invoke branches, with the ultimate goal of returning a value. Those patterns can also flow into other patterns. Tuple patterns are kind of native to it, but are constructive in nature.

    Destructuring/deconstructing is taking an object of known schema and exploding it out into assigned variables in a local closure.
  • 0
  • 0
    @giddynaya you know, I run on a pentium-like machine so my apps should be optimized af?
Add Comment