CODE COMPLETE
- Special control structures -
CODE COMPLETE
Code! what's that?
In communications and information processing, code is system of rules to convert information—such as a letter, word, sound, image, or gesture—into another, sometimesshortened or secret, form or representation for communication through a channel or storage in a medium. An early example is the invention of language, which enabled a person, through speech, to communicate what he or she saw, heard, felt, or thought to others.
Wikipedia
New Perspective
George Armitage Miller
George A. Miller was one of the founders of the cognitive psychology field. He also contributed to the birth of psycholinguistics andcognitive science in general. Miller wrote several books and directed the development of WordNet, an online word-linkage database usable by computer programs.
He authored the paper, "The Magical Number Seven, Plus or Minus Two," which experimentally discovered an average limit of seven for human short-term memory capacity. This paper is frequently cited in both psychology and the wider culture. He also won awards such as the National Medal of Science.
Miller started his education focusing on speech and language and published papers on these topics, focusing on mathematical, computational and psychological aspects of the field.
El algoritmo de Dijkstra, también llamado algoritmo de caminos mínimos, es un algoritmo para la determinación del camino más corto dado un vértice origen al resto de los vértices en un grafo con pesos en cada arista. Su nombre se refiere a Edsger Dijkstra, quien lo describió por primera vez en 1959.
La idea subyacente en este algoritmo consiste en ir explorando todos los caminos más cortos que parten del vértice origen y que llevan a todos los demás vértices; cuando se obtiene el camino más corto desde el vértice origen, al resto de vértices que componen el grafo, el algoritmo se detiene. El algoritmo es una especialización de la búsqueda de costo uniforme, y como tal, no funciona en grafos con aristas de coste negativo (al elegir siempre el nodo con distancia menor, pueden quedar excluidos de la búsqueda nodos que en próximas iteraciones bajarían el costo general del camino al pasar por una arista con costo negativo).
Your #1 goal should be
MANAGING COMPLEXITY
SOFTWARE COMPLEXITY
-
Computers speak a binary language
-
Computers are batch machines
-
There is a wide gap between coding and running software
-
Computers are terrible with concurrency
-
Computers have physical limitation
-
Computer software mode a complex world
ONE THING AT A TIME
CARE ABOUT LESS
-
Do as little as posible
-
Divide (& conquer)
-
Hide the details - Work with layered abstractions
-
Reduce the noice
Language Fundamentals
CODING PRACTICES
NAME STUFF
-
With the right name
-
In a standard way
-
Methods - For what they do
-
Functions - For what they return
-
Classes - For what they represent
-
Modules - For what they pack
USE CONVETIONS
Any convention is better than no convention
Every convention is one less thing to think about
USE CONVETIONS
-
Naming Conventions
-
Method parameters conventions
-
Resources placing conventions
-
Documenting conventions
-
Code layout conventions
-
Meeting convetions
-
Everything conventions
USE DESIGN PATTERNS
-
They represent a higher abstraction over coding details
-
They simplify communications in the team
-
They are conceptual standard reusable units
TDD
-
Promotes better division
-
Promotes better abstraction
-
Promotes better documentation
-
Promotes bettter personal charater
-
Restrains complexity
DESIGN BEST PRACTICES
Code Complete
By Samil Vargas
Code Complete
Code complete is a book based on software development and good practices that any developer must aware when is writing any code.
- 1,408