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 letterword, 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 mathematicalcomputational 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

Made with Slides.com