Patrones de Diseño, UML y Refactoring son conocimientos que cualquier desarrollador de software debe tener. Hace poco me topé con una página llamada SourceMaking, y que todo su contenido es referente y categorizado en esos temas.
Una breve descripción de cada categoría de esta página:
Design Patterns: In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn’t a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations.
UML: Unified Modeling Language makes it possible to describe systems with words and pictures. It can be used to model a variety of systems: software systems, business systems, or any other system. Especially notable are the various graphical charts—use case diagrams with their stick figures or the widely used class diagrams.
Refactoring: Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation does little, but a sequence of transformations can produce a significant restructuring.
AntiPatterns: The AntiPattern may be the result of a manager or developer not knowing any better, not having sufficient knowledge or experience in solving a particular type of problem, or having applied a perfectly good pattern in the wrong context.
Si no conoces nada sobre esos temas, o quieres reforzar tus conocimientos…vale la pena dedicarle unas horas a leer el contenido. Espero les sirva.