Skip to content
This repository was archived by the owner on Nov 29, 2022. It is now read-only.
This repository was archived by the owner on Nov 29, 2022. It is now read-only.

Refactoring del codice mozitabot #51

@dag7dev

Description

@dag7dev

USARE QUESTO ISSUE SOLO PER RILASCIARE AGGIORNAMENTI IMPORTANTI

Link al branch di sviluppo: https://github.com/dag7dev/MozItaReBot

Issue tracker: MozillaItalia/MozItaReBot#1

Discussione originale Siccome il codice attuale è "messy", bisognerebbe fare un refactoring appena possibile.

Cito qualcosa che mi viene in mente:

  • dividere il codice in funzioni e subroutine (eventualmente con delle funzioni lambda per facilitare la stesura)
  • ogni variabile / funzione / subroutine deve avere un nome significativo
  • creare delle funzioni generali parametrizzate
  • valutare se è il caso di creare degli oggetti (vorrei evitare ma in caso venga fatto bisogna stabilire una gerarchia di oggetti)
  • ogni funzione deve essere documentata e il codice deve essere scritto in grado di generare della documentazione "autonomamente" (per esempio utilizzando Doxygen così abbiamo il supporto anche a Graphwiz che ci aiuta graficamente, leggere qui
  • i commenti vanno fatti in maniera significativa
  • sia codice che commenti DOVREBBERO essere scritti in un inglese comprensibile (questo perché magari se qualcuno vuole darci una mano non sa dove mettere le mani, e soprattutto perché se prevediamo di estendere questo bot a un caso generale poi bisognerebbe rimettere mano al codice)
  • ogni parte di codice andrebbe "divisa" internamente (es. funzioni di utilità, funzioni per "fare questa cosa" ecc)
  • andrebbero evitate le variabili globali, a meno che non siano strettamente necessarie

Dare un'occhiata anche qui: PEP8

Inoltre Telepot è stata deprecata, quindi bisognerebbe trovare una valida alternativa al più presto.

Me ne potrei teoricamente occupare io appena ho tempo, ma ditemi voi cosa ne pensate.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions