9 Software Design Principles Every Developer Should Know:
1. ๐๐๐ (๐๐จ๐ง'๐ญ ๐๐๐ฉ๐๐๐ญ ๐๐จ๐ฎ๐ซ๐ฌ๐๐ฅ๐): Avoid duplicating code. Keep logic centralized to make your codebase easier to maintain.
2. ๐๐๐๐ (๐๐๐๐ฉ ๐๐ญ ๐๐ข๐ฆ๐ฉ๐ฅ๐, ๐๐ญ๐ฎ๐ฉ๐ข๐): Aim for simplicity in your solutions. Avoid overengineering or adding unnecessary layers.
3. ๐๐๐๐๐ (๐๐จ๐ฎ ๐๐ซ๐๐งโ๐ญ ๐๐จ๐ง๐ง๐ ๐๐๐๐ ๐๐ญ): Only build what you need today. Don't waste time on hypothetical features that may never be used.
4. LOD (๐๐๐ฐ ๐จ๐ ๐๐๐ฆ๐๐ญ๐๐ซ): Talk only to your immediate neighbors. Donโt chain too many calls.
๐๐๐๐๐ ๐๐ซ๐ข๐ง๐๐ข๐ฉ๐ฅ๐๐ฌ:
5. ๐๐๐ (๐๐ข๐ง๐ ๐ฅ๐ ๐๐๐ฌ๐ฉ๐จ๐ง๐ฌ๐ข๐๐ข๐ฅ๐ข๐ญ๐ฒ ๐๐ซ๐ข๐ง๐๐ข๐ฉ๐ฅ๐): A class should have one responsibility only. Keep each component focused and cohesive.
6. ๐๐๐ (๐๐ฉ๐๐ง/๐๐ฅ๐จ๐ฌ๐๐ ๐๐ซ๐ข๐ง๐๐ข๐ฉ๐ฅ๐): Code should be open for extension but closed for modification. Add new features without altering existing logic.
7. ๐๐๐ (๐๐ข๐ฌ๐ค๐จ๐ฏ ๐๐ฎ๐๐ฌ๐ญ๐ข๐ญ๐ฎ๐ญ๐ข๐จ๐ง ๐๐ซ๐ข๐ง๐๐ข๐ฉ๐ฅ๐): Subclasses must be usable in place of their parent classes without breaking functionality.
8. ๐๐๐ (๐๐ง๐ญ๐๐ซ๐๐๐๐ ๐๐๐ ๐ซ๐๐ ๐๐ญ๐ข๐จ๐ง ๐๐ซ๐ข๐ง๐๐ข๐ฉ๐ฅ๐): Design small, focused interfaces instead of large, general ones.
9. ๐๐๐ (๐๐๐ฉ๐๐ง๐๐๐ง๐๐ฒ ๐๐ง๐ฏ๐๐ซ๐ฌ๐ข๐จ๐ง ๐๐ซ๐ข๐ง๐๐ข๐ฉ๐ฅ๐): High-level modules should not depend on low-level modules. Both should depend on abstractions.
โป๏ธ Repost to help others in your network.
We use the -g option to the C/C++ compiler to add the debug information.
DWARF - Debugging With Attributed Record Formats - is a popular file format that supports source-level debugging, and it's not limited to C/C++.
Read its specification and how the binary addresses get translated back to the code - it's all very exciting.
Latest draft spec:
https://t.co/1UYqsfjTMk
Official website: https://t.co/mzmtjmXXXH
Intro PDF - https://t.co/D4NwDJffrG
JavaFX is a powerful graphical UI toolkit for building desktop and mobile applications. ๐ช
This #JavaOne session explores the new and exciting features we've developed over the past couple of years, culminating with the release of JavaFX 24. https://t.co/yzgxGJoagS
The goal is to make the little secret public: @openQuanta will quietly grow across social media and is ready to break every mobile constraint. The story is solid, and this is only the beginning