2010-03-26 5 views
9

¿Cuándo considera que es apropiado/necesario realizar inmersiones más profundas en el código fuente de herramientas de código abierto para comprender los conjuntos de herramientas que utiliza? (nHibernate, StructureMap, Rhino Mocks, etc.)Buceo profundo en código fuente abierto

Respuesta

6

Cuando no funciona como esperaba o tengo que implementar algo que no se describe muy bien en la documentación o con ejemplos. Por lo general, es una respuesta a hacer algo que creo que debería funcionar, pero sin entender por qué no funciona. FWIW, esto también se aplica cada vez que puedo acceder al código fuente, independientemente de qué tan "abierto" esté.

2

Yo diría que hay dos escenarios para que:

  1. Cuando el producto Open Source es parte de su negocio principal (su empresa depende de ello).
  2. Cuando desee comenzar a contribuir a ello.
0

Puede necesitar hacer esto si el conjunto de herramientas que está utilizando no proporciona la funcionalidad que necesita, o si hay errores en sus herramientas.

Por ejemplo, recientemente estaba usando una biblioteca de cuadrículas de JavaScript que no permitía ordenar una columna por determinados formatos de fecha/hora, así que tuve que entrar en su código y entender cómo funciona para poder encontrar una solución . Al final tuve que implementar esto yo mismo, y contribuí con el código a su proyecto.

0

Creo que, en general, si está haciendo algo que requiere un buceo profundo, entonces probablemente esté haciendo algo que no debería estar haciendo. Cuando necesite saber cosas a un nivel en el que no esté haciendo cosas estándar, debe pensar detenidamente si está haciendo lo correcto o no.

La excepción a esto es cuando se está construyendo algo donde la biblioteca está en el ámbito de la competencia central de su empresa. Si está construyendo un sistema de construcción en línea, probablemente quiera saber demasiado sobre los sistemas de construcción subyacentes (Maven o lo que sea), y probablemente debería profundizar en ellos hasta que los conozca bien.

1

Empiezo a bucear en el código fuente cada vez que necesito saber: ¿qué hace esto? O por qué esto no funciona como creo que debería ser. Esto viene generalmente después de leer documentación, googlear, etc.

Además, si es un framework que he usado por un tiempo, me interesa saber un poco el código fuente como punto de referencia para saber cómo funciona .

Si desea saber cómo funciona cualquier marco, siempre debe comenzar con: "¿Qué tendría que hacer este framework IoC/ORM para realizar esta función?" Creo que pensar desde dentro ayuda a veces con los marcos.

Cuestiones relacionadas