Object-oriented programming (OOP) is a programming paradigm
based on the concept of objects, which can contain data and code: data in
the form of fields (often known as attributes or properties), and code in
the form of procedures (often known as methods).
A common feature of objects is that methods are attached to them and can
access and modify the objectʼs data fields. In this brand of OOP,
there is usually a special name such as this or self used to refer to the current object.
Occamʼs razor … is the problem-solving principle that recommends searching for explanations
constructed with the smallest possible set of elements. It is also known
as the principle of parsimony or the law of parsimony.
Attributed to William of Ockham, a 14th-century English philosopher and theologian, it is frequently cited
as “Entia non sunt multiplicanda praeter necessitatem,” which translates as “Entities must not be multiplied beyond
necessity”, although Occam never used these exact words.
Note: many people paraphrase Occamʼs Razor as “The simplest
solution is the best one”. But this is incorrect as it ignores the
key words “beyond necessity”. A correct paraphrase is:
The simpler solution all else being equal is the better one.
In short, if two solutions solve the problem equally, choose the simpler
one. If not, choose the better solution.
Open-source software (OSS) is computer software that is
released under a license in which the copyright holder grants users the rights
to use, study, change, and distribute the software and its source code to
anyone and for any purpose.
Open-source software may be developed in a collaborative, public manner.
Open-source software is a prominent example of open collaboration,
meaning any capable user is able to participate online in development,
making the number of possible contributors indefinite. The ability to
examine the code facilitates public trust in the software.
Use of open-source software is an important component of sustainable web development.Craft Code strongly supports open-source software, transparency,
collaboration, and sustainability.
Overengineering (or over-engineering) is the act of designing
a product or providing a solution to a problem in an elaborate or complicated
manner, where a simpler solution can be demonstrated to exist with the same
efficiency and effectiveness as that of the original design.