DEV Community

Anton Shcherbatov
Anton Shcherbatov

Posted on

More abbreviations to the abbreviation's God

At the work I meet a lot of different abbreviations. Some of them are insignificant, some of them are pretty useful, but most of them you're already know. Nevertheless, they describe the developing process in a way it should be and can help to build a real robust applications. There is a list of the most common of them. Which ones would you like to add?

SOLID Principles

  • S (Single Responsibility) Every class is responsible for the on operation only.
  • O (Open Closed) The classes have to be open for extending and closed for modification
  • L (Liskov substitution) It should be possible to use a child class (type) instead of a parent without negative consequences
  • I (Interface Segregation) You shouldn't force a class to implement an interface, which doesn't relate to the class
  • D (Dependency Inversion) Abstractions don't depend on the details, but details do depend on the abstractions

  • YAGNI (You're not gonna need it) If you're writing the code, ensure you're gonna use it. Don't add the code if you think it'll be useful later
  • DRY (Don't repeat yourself) Pretty obvious. Don't hurry to write the code - look around. Likely, someone already wrote it. This is why I love pull requests for - somebody can remember that your functional already exists and we don't actually need. Seriously?! Where have you been during the sprint planning?!
  • KISS (Keep it simple, stupid) Well, just be simpler. The simpler code, the better it works. If a task doesn't require over-complicated solution, just use the solution. It supposes that you have multiple solution of the task. Haha :\
  • BDUF (Big design up front) This is what I'm lack in. No time to think, just write the f.. code. It's incorrect. Before starting coding, ensure that everything is well thought out
  • APO (Avoid Premature Optimization) Don't force the code optimization until it's really necessary.

There are much more abbreviations in a programming world. Which one is your favourite? My favourite is LGTM in the comments of pull requests!

Top comments (0)