2010-03-26 3 views

Répondre

6

Lorsque cela ne fonctionne pas comme je le souhaite ou que j'ai besoin d'implémenter quelque chose qui n'est pas très bien décrit dans la documentation ou avec des exemples. Habituellement, c'est une réponse à faire quelque chose que je pense devrait fonctionner, mais ne pas comprendre pourquoi cela ne fonctionne pas. FWIW, cela s'applique également chaque fois que je peux accéder au code source, quel que soit son degré d'ouverture.

2

Je dirais qu'il ya deux scénarios pour que:

  1. Lorsque le produit OpenSource fait partie de votre cœur de métier (votre entreprise en dépend).
  2. Lorsque vous voulez commencer à contribuer.
0

Vous devrez peut-être effectuer cette opération si le jeu d'outils que vous utilisez ne fournit pas les fonctionnalités dont vous avez besoin ou s'il existe des bogues dans vos outils. Par exemple, récemment, j'utilisais une bibliothèque de maillages JavaScript qui ne supportait pas le tri d'une colonne selon certains formats date/heure. Je devais donc entrer dans leur code et comprendre comment cela fonctionnait pour trouver une solution. . En fin de compte, j'ai dû implémenter cela moi-même, et j'ai contribué le code à leur projet.

0

Je pense qu'en général, si vous faites quelque chose qui nécessite une plongée profonde, alors vous faites probablement quelque chose que vous ne devriez pas faire. Lorsque vous avez besoin de connaître les choses à un niveau où vous ne faites pas les choses standard, vous devez réfléchir très sérieusement à savoir si vous faites la bonne chose ou non.

La seule exception est lorsque vous construisez quelque chose où la bibliothèque est dans le domaine des compétences de base de votre entreprise. Si vous construisez un système de construction en ligne, vous voulez probablement en savoir trop sur les systèmes de construction sous-jacents (Maven ou autre), et vous devriez probablement plonger dans ces systèmes jusqu'à ce que vous les connaissiez bien.

1

Je commence à plonger dans le code source quand j'ai besoin de savoir: qu'est-ce que cela fait? Ou pourquoi cela ne marche pas comme je le pense. Cela vient généralement après avoir lu la documentation, googling, etc

Aussi si c'est un cadre que j'ai utilisé pendant un certain temps - il est dans mon intérêt de connaître le code source un peu comme un point de référence pour savoir comment cela fonctionne .

Si vous voulez connaître le fonctionnement d'un framework, vous devez toujours commencer par: "Que devrait faire cet environnement IoC/ORM pour exécuter cette fonction?" Je trouve que penser de l'intérieur aide parfois avec des cadres.