Dois-je publier le code source pour corriger le bogue


15

J'ai un bug dans mon application que je crée. J'ai posé une question sur SO et l'un des utilisateurs m'a demandé de lui poster ou de lui envoyer tout le code pour qu'il puisse le consulter.

Je comprends parfaitement la demande. C'est valable et compréhensible. Cependant, je doute que je le fasse. Évidemment, je lui donne les clés du royaume et je n'aurai aucun recours s'il fait quelque chose de malveillant.

Je veux également ajouter que je veux dire sans manquer de respect à l'utilisateur sur SO qui a offert son aide. J'exprime juste une préoccupation.

Je veux que mon bogue soit corrigé, mais il n'y a aucune garantie que cette personne puisse le corriger.

Dois-je publier tout le code source et espérer le meilleur? Ou le garder et essayer de le découvrir par moi-même?

Qu'est-ce que tu ferais?


3
Question difficile. Bien demandé.
yfeldblum

Réponses:


44

Construisez un SSCCE (court, autonome, exemple correct). Si le bogue disparaît lorsque vous supprimez certains des détails supplémentaires pour le SSCCE, vous l'avez trouvé.

Sinon, vous aurez un SSCCE que vous donnez ou publiez qui élimine idéalement le code que vous souhaitez partager.


1
Pour ceux qui ne connaissent pas "SSCCE": acronymfinder.com/SSCCE.html (ignorer la première définition de "carcinome épidermoïde superficiel de l'œsophage"). Aha, a trouvé le meilleur lien: sscce.org
FrustratedWithFormsDesigner

Qu'est-ce qu'un SSCCE? EDIT: insérez-le simplement dans votre réponse. :)
jprete

7
Construire la plus petite repro possible est idéal pour de nombreuses raisons, non seulement vous ne donnez pas votre code, mais vous pouvez également trouver le bogue dans le processus de développement d'un exemple.
Steve

3
Et le SSCCE se double d'un test de régression, vous assurant de ne plus jamais avoir ce bug. En outre, vous pouvez souvent créer une règle pour un outil d'analyse statique à partir de SSCCE, vous assurant ainsi non seulement de ne plus jamais retrouver ce bogue, mais également de ne plus jamais avoir de bogue similaire .
Jörg W Mittag

9

Je ne le ferais pas, surtout si vous travaillez pour quelqu'un d'autre, qui n'apprécierait probablement pas que vous donniez du code source à des concurrents potentiels.

Mais même si c'est votre propre code, il manque le but de Stack Overflow, qui est d'avoir un index de questions et réponses que tout le monde puisse lire et utiliser. Donc, vous postez suffisamment pour poser votre question, les gens répondent à la question telle que publiée et les futurs lecteurs ont une question et une réponse bien encapsulées devant eux.

Si vous ne pouvez pas publier suffisamment de messages pour comprendre le bogue, vous devez essayer de reproduire le bogue dans un morceau de code aussi petit que possible et le publier. ( EDIT: Le concept d'exemple compilable autonome court mentionné par jzd.) Ne postez pas de grandes quantités de code source et ne remettez pas simplement de gros morceaux de votre application à de parfaits inconnus sur Internet.


2

Si c'est du code que vous prévoyez de publier dans le cadre d'un projet open source, je ne m'inquiéterais pas trop. Sinon, si c'est du code sur lequel vous travaillez sur votre lieu de travail et qu'il contient des idées exclusives qui appartiennent à quelqu'un d'autre, ne le communiquez à personne. Cela pourrait vous causer beaucoup de problèmes.

Utilisez votre meilleur jugement!


1

S'il s'agit du code de votre projet personnel et qu'il n'est pas commercial, vous n'avez pas de problème à fournir votre source tant que vous en conservez une copie (mieux dans certains systèmes de contrôle de version de code source).


0

Soyez discret

C'est innocent. Vous souhaitez publier du code et bénéficier de l'aide de la communauté SO. Le problème est que les gens regardent toujours.

J'ai été écrit pour avoir publié un script. Ça arrive.

Publiez à la maison ou dans un café. Postez discrètement. Vous devriez pouvoir prendre des notes et les apporter sans avoir de problèmes.

Remarque: je suis un peu énervé à quel point j'étais naïf. Soyez intelligent!


Je pense que le mot que vous cherchez est "discret", vous avez peut-être passé trop de temps à programmer! :)
Sedate Alien
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.