The tag has no wiki summary.

learn more… | top users | synonyms

2
votes
2answers
124 views

Giving apprentices appreciation of SOLID principles [on hold]

Experienced developers typically have an appreciation of the SOLID (or other) principles - why we have them, how they help, ways of adhering to them etc. This may be as a result of having written poor ...
5
votes
3answers
472 views

Dependency Inversion Principle vs “Program to an interface, not an implementation”

I'm trying to understand how the Dependency Inversion Principle differs from the "program to an interface, not an implementation" principle. I understand what "Program to an interface, not an ...
0
votes
2answers
79 views

What are the principles of open source projects? [closed]

Although its generally agreed by organisations like the OSI and the FSF what is and isn't an open source software (basically, the the terms of the source code license) what are the guiding principals ...
3
votes
5answers
559 views

Why is Encapsulation considered a primary principle in OOP?

I am currently trying to understand more deeply the 4 principles of OOP: Abstraction, Encapsulation, Inheritance, and Polymorphism. After studying the four principles, I don't fully understand why ...
8
votes
2answers
192 views

What is “Semantics visibility”?

I'm reading 97 Things Every Programmer Should Know, now I'm positioned in "Apply Functional Programming Principles", and there is a paragraph that says: ...A leading cause of defects in imperative ...
-2
votes
1answer
123 views

What are general best practices for plugin/extension development? [closed]

I need to correlate requirements for a plugin/extension of an application with development best practices. I thought there might be best practice advice that applies to plugins and extensions ...
13
votes
2answers
600 views

Build one to throw away vs Second-system effect

On one hand there is an advice that says "Build one to throw away". Only after finishing a software system and seeing the end product we realize what went wrong in the design phase and understand how ...