1 Enlaces de utilidad general
1.1 Editores/IDEs, tipos de letra, esquemas de colores.
- Lite-xl.
- VSCode. Si te gusta la privacidad deberías echar un vistazo a vscodium.
- SublimeText.
- Code::Blocks.
- Geany.
- Gnome Builder.
- GNU Emacs.
- Vi es, junto a Emacs, otro clásico editor de textos de los S.O. de la familia UNIX. Con el tiempo han ido apareciendo versiones mejoradas del mismo como Vim y Neovim.
- Cuida tus ojos, para programar es mejor emplear tipos de letra
mono-espaciados en lugar de proporcionales.
-
Usa un tamaño de letra apropiado, evita tamaños muy pequeños.
-
Aquí tienes ejemplos de tipos de letra apropiados para programar.
-
Y aquí algunos criterios para elegir un tipo de letra mono-espaciado.
-
Elige un esquema de color que no te produzca fatiga visual. Dos de los esquemas de colores que más tratan de conseguir esto son:
-
- Unicode y UTF-8/16/32. Aquí, aquí y aquí tienes más información. La página web del proyecto. Si vas a usar Unicode desde programas consulta estas bibliotecas.
2 Enlaces relacionados con la asignatura
2.1 Despliegue y organización de equipos
- Deployment Tips.
- Despliegue de Software.
- Software Development and Deployment.
- Organizing for Successful Software Development.
- Rolling stable kernels charla impartida por Sasha Levin, uno de los mantenedores de las versiones estables del núcleo Linux.
2.2 Construcción de proyectos de forma eficiente
- Distcc. Distcc en la wikipedia.
- Ccache.
- Una pequeña ayuda para escribir Makefiles no-recursivos: subdirmk.
- Ninja.
- Make.
2.3 Seguimiento de fallos
- Trac. Trac en la wikipedia.
- Bugzilla.
- En clase hablamos del fallo en una de las misiones de la Nasa a Marte. Aquí lo tienes mas detallado junto a otros errores relacionados con el uso mezclado de distintos tipos de unidades.
- No pertenece exactamente a este tema pero está relacionado con él. Repasa los distintos modelos de error empleados en los lenguajes de programación así como las ventajas e inconvenientes de cada uno de ellos.
2.4 Empaquetado
2.5 Internacionalización
2.6 Control de versiones
2.6.1 Git
- How to Learn Git in Simple Words.
- Git.
- Libro Pro Git.
- Gitmagic.
- Gitready.
- Gitflow: A successful Git branching model.
- Tutorial sobre Gitflow. How to Write a Git Commit Message.
- Git no está pensado para gestionar ficheros grandes. Existen soluciones que te pueden ayudar en este sentido, p.e.: Git LFS y Git annex.
- Ordenes de bajo nivel ( plumbing ) en git.
- Git soporta el uso de submódulos.
- Si quieres conocer más sobre cómo git guarda su información entonces consulta estos artículos:
2.6.2 Otros
2.7 Tests
2.8 Configuración de proyectos
2.9 Diseño por contrato
- Design by contract.
- Diseño por contrato en el lenguaje D.
- Diseño por contrato en el lenguaje Vala.
- Diseño por contrato en C#.
2.10 Varios
- The Impact of AI on Computer Science Education. No dejes de leer este artículo.
- Doxygen: generador de documentación a partir de comentarios.
- Learn X in Y minutes.
- Computer Languages History.
- Uncrustify: Source Code Beautifier.
- C++ on Mars: Incorporating C++ into Mars Rover Flight Software. Destacar los minutos 4:27 (tests), 1:09:00 (valgrind/purify) y 1:10:07 (equipos de desarrollo y test separados).