Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajout de commentaires et remarques sur le module des forums #1945

Merged
merged 2 commits into from
Apr 3, 2015

Conversation

SpaceFox
Copy link
Contributor

Q R
Correction de bugs ? Non
Nouvelle Fonctionnalité ? Non
Tickets concernés Il me semblait qu'il y en avait un mais je ne l'ai pas retrouvé...

Le but de cette PR est de rajouter des commentaires, qui manquent énormément dans le code.

Lors de mes pérégrinations, j'ai aussi trouvé un certain nombre de bizarreries, ici signalées par des TODO, parce que ce n'est pas le but de la PR de les corriger et que certaines ne méritent probablement même pas une issue.

Je propose qu'on merge déjà ça, et qu'on fasse plusieurs petites PR.

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.01%) when pulling 5aba000 on SpaceFox:code_comments into a91f49d on zestedesavoir:dev.

"""
:return: the first post of a topic, written by topic's author.
"""
# TODO: Why force the relation with author? Why "the first post" is not sufficient?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bonne question

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est un peu jeu de piste, mais la réponse se trouve quelques lignes plus haut dans get_last_answer() : à un moment, il y a une comparaison qui appelle cette fonction. Je pense que pour que cette comparaison soit juste, il faut ce "related". Ceci dit, si on remplaçait, à la ligne 236,

if last_post == self.first_post():

par

if last_post.pk == self.first_post().pk:

ça serait surement plus nécéssaire.


"""A forum, containing topics."""
"""
A Forum, containing Topics. It can be public or restricted to some groups.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

redondant avec la ligne 92. l'ancien commentaire était bon.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Redondant dans le code source peut-être, mais les docstring (et seulement les docstrings) vont permettre de générer une doc "externe" du code. Donc pour moi cette précision doit y figurer.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dans ce seul cas (parce qu'une documentation sera générée), je suis d'accord avec @SpaceFox.

@Eskimon Eskimon added C-Back Concerne le back-end Django Facile Bon ticket pour débuter pour rejoindre le développement ! labels Dec 23, 2014
@Eskimon
Copy link
Contributor

Eskimon commented Dec 23, 2014

  1. Comment générer une doc avec ces commentaires ?

ca peut etre ? http://sphinx-doc.org/ext/autodoc.html

class Meta:
verbose_name = 'Catégorie'
verbose_name_plural = 'Catégories'

title = models.CharField('Titre', max_length=80)
position = models.IntegerField('Position', null=True, blank=True)
# Some category slugs are forbidden due to path collisions: Category path is `/forums/<slug>` but some actions on
# forums have path like `/forums/<action_name>`. Forbidden slugs are all top-level path in forum's `url.py` module.
# As Categories can only be managed by superadmin, this is purely declarative and there is no control on slug.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ne vaut-il pas mieux intégrer toutes ces explications dans la propriété help_text du champ (qui en l'état ne donne aucune information) ?

Au passage, le contenu de ce commentaire est aberrant.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sisi, le help_text donne les informations mais une partie des explications est bouffée par l'interface Github.

Qu'est-ce que tu entends par "aberrant" ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Qu'est-ce que tu entends par "aberrant" ?

Avoir une URL partagée pour deux choses différentes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, c'est pas le commentaire qui est aberrant mais le fonctionnement. Mais là oui, je suis d'accord, ça faisait partie des problèmes d'URLs que je mentionnais pendant le zest meeting tout à l'heure.

@SpaceFox
Copy link
Contributor Author

Certes, mais à quelle échéance ? Rester avec des tas de conneries dans le
code et aucun commentaire pendant potentiellement des années selon les
parties est une solution ? Ou alors on a un plan pour avoir des API sur
l'intégralité du site très prochainement ?

Le 14 janvier 2015 23:15, Gerard Paligot notifications@github.com a écrit
:

D'autre part, je rappelle que le but de cette PR c'est pas de corriger les
problèmes. Y'en a beaucoup trop pour ça. Donc les "ce serait mieux en
renommant" et autres, oui souvent je suis d'accord. Mais c'est un autre
problème.

De toute façon, je pense que c'est un peu un faux problème. L'API va
passer sur tous les modules et nous allons donc nous assurer que des
commentaires pertinents seront intégrés (comme je pense c'est le cas pour
l'API des membres).


Reply to this email directly or view it on GitHub
#1945 (comment)
.

@GerardPaligot
Copy link
Member

Impossible de te dire quand sortira l'API. N'importe quoi peut survenir pendant le développement de ses ZEPs (je compte rédiger aujourd'hui la prochaine sur les MPs pour enchainer avec après celle sur les membres). Tout ce que je peux t'assurer c'est que la plupart des commentaires qui vont figurer dans les fichiers views.py (on touche très peu aux autres fichiers), seront éjectés puisque nous basculerons sur l'approche CBV qui est bien plus clair à développer et à comprendre. Je ne peux t'assurer rien de plus.

Donc, je ne dis pas que ça serait mal de documenter les modules. Cela pourrait même aider pour l'API pour les morceaux de code trop chaud à comprendre sans commentaire mais il faut savoir qu'ils seront probablement dégagés après le passage de l'API.

@SpaceFox
Copy link
Contributor Author

J'ai bien compris la réponse à la question 2, elle m'a été donnée au moins 3 fois.

Par contre j'aimerais bien une réponse claire et précise aux questions 1 et 3 :

  1. Est-ce que ça vous paraît bien ?
  2. Comment générer une doc avec ces commentaires ?
  3. Est-ce que le niveau de détail des commentaires vous paraît bon ?

Je veux dire, une réponse ici. Pas un listing des problèmes rencontrés dans les TODO ou des remarques sur un point de détail. C'est d'un commentaire général dont j'ai besoin, parce que ce genre de travail prends un temps non négligeable et que j'ai besoin de savoir comment le calibrer.

Et je vous avoue que pour l'instant le manque de réponse à ce sujet et les commentaires de @GerardPaligot m'ont passablement démotivés. Entre autres parce que ça me donne clairement l'impression que soit tout le monde se fout du fait que notre code est en partie incompréhensible (dans les sens où on a des méthodes que plus personne ne comprends !) et que globalement les contributeurs préfèrent le code crade à passer 2 minutes à mettre le minimum de commentaires.

@pierre-24
Copy link
Member

Tout d'abord, je dirais que je suis très satisfait avec le niveau de commentaires que tu as effectué et la qualité de ceux-ci. Ce genre de PR doit pour moi être poursuivie, à tout pris : on sais pas quand une API "forum" arrivera et faire rustine d'ici là, c'est ne faire qu'empirer les choses. Et mieux vaut tard que jamais.

(si j'ai laissé croire que je m'en foutais, my bad, mais c'est absolument pas le cas).

Ceci dit, il y a pour moi deux problèmes ici :

  1. Chacun a sa manière de commenter et son "niveau de commentage" : très clairement, Ge0 n'as pas les mêmes critères que moi et du coup ... On risque de jouer à ping-pong longtemps. J'admet ceci dit que nommer convenablement une fonction permet d'éviter une partie de commentaires inutiles, donc j'appuie les "je préférerais changer le nom de la fonction" (comme ça on avance).
  2. Je suis un codeur amateur, ce qui signifie que mon avis a pas le même poids que celui d'un mec dont c'est à fortiori le métier ^^

@SpaceFox
Copy link
Contributor Author

Je crois que tu as confondu @Ge0 et @GerardPaligot :D

Cela dit, certains de mes commentaires mériteraient en effet d'être remplacés par un "TODO : renommer cette méthode en nom_pertinent".

@GerardPaligot
Copy link
Member

Et je vous avoue que pour l'instant le manque de réponse à ce sujet et les commentaires de @GerardPaligot m'ont passablement démotivés. Entre autres parce que ça me donne clairement l'impression que soit tout le monde se fout du fait que notre code est en partie incompréhensible (dans les sens où on a des méthodes que plus personne ne comprends !) et que globalement les contributeurs préfèrent le code crade à passer 2 minutes à mettre le minimum de commentaires.

Très sincèrement, je suis désolé parce que ce n'était pas du tout l'effet voulu. J'aimerais vraiment que tu relise cette partie de mon message précédent :

Donc, je ne dis pas que ça serait mal de documenter les modules. Cela pourrait même aider pour l'API pour les morceaux de code trop chaud à comprendre sans commentaire mais il faut savoir qu'ils seront probablement dégagés après le passage de l'API.

En gros, s'il y a des passages incompréhensibles, je suis pour les commentaires parce que quelqu'un (moi peut-être mais pas forcément) devra comprendre le code pour le refactorer et si la personne ne le comprend pas, elle pourrait mal faire.

  1. Est-ce que ça vous paraît bien ?

Hormis certains commentaires où il faudrait plus expliciter le nom de la méthode (ou le code), je suis plutôt pour. Tu places les commentaires uniquement sur les classes et les méthodes et uniquement quand c'est nécessaire partout ailleurs (passage dans le code complexe ou informations complémentaires sur un morceau de code précis).

  1. Est-ce que le niveau de détail des commentaires vous paraît bon ?

La limit entre un commentaire fonctionnel et d'implémentation est assez mince je trouve. Cependant, si aucun commentaire se raccroche à des éléments dans le code et si le commentaire est compréhensible (parfois, j'ai juste pas compris), je trouve le niveau de détail plutôt correct.

Voilà, faut que j'arrête de dire toujours que le négatif. :)

@Situphen
Copy link
Member

Petit UP ! Est-ce qu'il y a d'autres commentaires ?

@SpaceFox
Copy link
Contributor Author

SpaceFox commented Mar 5, 2015

Je vais d'abord rebase et voir ensuite.

@SpaceFox SpaceFox force-pushed the code_comments branch 3 times, most recently from 18b2610 to 73fe102 Compare March 8, 2015 16:50
@SpaceFox
Copy link
Contributor Author

SpaceFox commented Mar 8, 2015

Bon j'ai corrigé 2/3 trucs. Pour moi on peut déjà merger cette partie.

@pierre-24
Copy link
Member

Bon, moi je dis "vas-y". Ou on ne l'aura jamais.

@GerardPaligot
Copy link
Member

Erreur flake8 ici.

@SpaceFox
Copy link
Contributor Author

C'est corrigé.

@GerardPaligot
Copy link
Member

Ouais, mais faut rebase maintenant. :-°

@SpaceFox
Copy link
Contributor Author

SpaceFox commented Apr 2, 2015

C'est rebase. Si Travis est content, on peut merger.

@SpaceFox
Copy link
Contributor Author

SpaceFox commented Apr 3, 2015

Travis est content. Merge qui veut.

@artragis
Copy link
Member

artragis commented Apr 3, 2015

ping @Eskimon

2015-04-03 8:51 GMT+02:00 SpaceFox notifications@github.com:

Travis est content. Merge qui veut.


Reply to this email directly or view it on GitHub
#1945 (comment)
.

Eskimon added a commit that referenced this pull request Apr 3, 2015
Ajout de commentaires et remarques sur le module des forums
@Eskimon Eskimon merged commit 4081785 into zestedesavoir:dev Apr 3, 2015
@Eskimon
Copy link
Contributor

Eskimon commented Apr 3, 2015

pong

@Eskimon Eskimon added this to the Version 1.8 milestone Apr 3, 2015
@Eskimon
Copy link
Contributor

Eskimon commented Apr 3, 2015

J'ai mis ca en 1.8, @SpaceFox c'est cohérent ?

@SpaceFox SpaceFox deleted the code_comments branch April 3, 2015 07:32
@SpaceFox
Copy link
Contributor Author

SpaceFox commented Apr 3, 2015

Oui.

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Back Concerne le back-end Django Facile Bon ticket pour débuter pour rejoindre le développement !
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants