Suche senden
Hochladen
Pylint : 10 ans, état des lieux
•
1 gefällt mir
•
1,884 views
Logilab
Folgen
Présentation au Capitol du Libre 2013 à Toulouse
Weniger lesen
Mehr lesen
Technologie
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 18
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
1時間でざっくり教えるサーバ運営超入門
1時間でざっくり教えるサーバ運営超入門
infinite_loop
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...
Arthur Lutz
Un Tsung vaut mieux que 2 "croisons les doigts"
Un Tsung vaut mieux que 2 "croisons les doigts"
Rodolphe Quiédeville
Pylint
Pylint
Iorgama Porcely
Pep8 pylint
Pep8 pylint
Leandro Severino
Static Code Analysis
Static Code Analysis
Annyce Davis
Python Tricks That You Can't Live Without
Python Tricks That You Can't Live Without
Audrey Roy
Python - code quality and production monitoring
Python - code quality and production monitoring
David Melamed
Empfohlen
1時間でざっくり教えるサーバ運営超入門
1時間でざっくり教えるサーバ運営超入門
infinite_loop
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...
Arthur Lutz
Un Tsung vaut mieux que 2 "croisons les doigts"
Un Tsung vaut mieux que 2 "croisons les doigts"
Rodolphe Quiédeville
Pylint
Pylint
Iorgama Porcely
Pep8 pylint
Pep8 pylint
Leandro Severino
Static Code Analysis
Static Code Analysis
Annyce Davis
Python Tricks That You Can't Live Without
Python Tricks That You Can't Live Without
Audrey Roy
Python - code quality and production monitoring
Python - code quality and production monitoring
David Melamed
découverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspects
Thierry Gayet
Installation open erp
Installation open erp
Addi Ait-Mlouk
Cpython
Cpython
Victor Stinner
Python dans windows azure web sites et pour scripter vos environnements
Python dans windows azure web sites et pour scripter vos environnements
Microsoft
Développement d'un moteur de recherche avec Zend Search
Développement d'un moteur de recherche avec Zend Search
Robert Viseur
Présentation de Robot framework
Présentation de Robot framework
gilleslenfant
Mettez du libre dans vos projets web
Mettez du libre dans vos projets web
Pierre Rudloff
Octo Maven.pdf
Octo Maven.pdf
badrfathallah2
#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQube
Vincent Biret
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)
Martin Latrille
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
Arnaud Héritier
Kevin Avignon: Roslyn - La plateforme de compilation .NET
Kevin Avignon: Roslyn - La plateforme de compilation .NET
MSDEVMTL
Android pour l'industrie
Android pour l'industrie
Alexandre LAHAYE
OS libres pour l'IoT - Zephyr
OS libres pour l'IoT - Zephyr
Christian Charreyre
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
Interface ULg, LIEGE science park
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacy
François Petitit
Prototypage IoT avec logiciel/matériel libre
Prototypage IoT avec logiciel/matériel libre
Pôle Systematic Paris-Region
Intro grpc.net
Intro grpc.net
MSDEVMTL
Boostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpedit
auto entrepreneur
Introduction à l'Open Hardware
Introduction à l'Open Hardware
Robert Viseur
Testinfra pyconfr 2017
Testinfra pyconfr 2017
Logilab
Open Source & Open Data : les bienfaits des communs
Open Source & Open Data : les bienfaits des communs
Logilab
Weitere ähnliche Inhalte
Ähnlich wie Pylint : 10 ans, état des lieux
découverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspects
Thierry Gayet
Installation open erp
Installation open erp
Addi Ait-Mlouk
Cpython
Cpython
Victor Stinner
Python dans windows azure web sites et pour scripter vos environnements
Python dans windows azure web sites et pour scripter vos environnements
Microsoft
Développement d'un moteur de recherche avec Zend Search
Développement d'un moteur de recherche avec Zend Search
Robert Viseur
Présentation de Robot framework
Présentation de Robot framework
gilleslenfant
Mettez du libre dans vos projets web
Mettez du libre dans vos projets web
Pierre Rudloff
Octo Maven.pdf
Octo Maven.pdf
badrfathallah2
#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQube
Vincent Biret
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)
Martin Latrille
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
Arnaud Héritier
Kevin Avignon: Roslyn - La plateforme de compilation .NET
Kevin Avignon: Roslyn - La plateforme de compilation .NET
MSDEVMTL
Android pour l'industrie
Android pour l'industrie
Alexandre LAHAYE
OS libres pour l'IoT - Zephyr
OS libres pour l'IoT - Zephyr
Christian Charreyre
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
Interface ULg, LIEGE science park
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacy
François Petitit
Prototypage IoT avec logiciel/matériel libre
Prototypage IoT avec logiciel/matériel libre
Pôle Systematic Paris-Region
Intro grpc.net
Intro grpc.net
MSDEVMTL
Boostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpedit
auto entrepreneur
Introduction à l'Open Hardware
Introduction à l'Open Hardware
Robert Viseur
Ähnlich wie Pylint : 10 ans, état des lieux
(20)
découverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspects
Installation open erp
Installation open erp
Cpython
Cpython
Python dans windows azure web sites et pour scripter vos environnements
Python dans windows azure web sites et pour scripter vos environnements
Développement d'un moteur de recherche avec Zend Search
Développement d'un moteur de recherche avec Zend Search
Présentation de Robot framework
Présentation de Robot framework
Mettez du libre dans vos projets web
Mettez du libre dans vos projets web
Octo Maven.pdf
Octo Maven.pdf
#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQube
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
Kevin Avignon: Roslyn - La plateforme de compilation .NET
Kevin Avignon: Roslyn - La plateforme de compilation .NET
Android pour l'industrie
Android pour l'industrie
OS libres pour l'IoT - Zephyr
OS libres pour l'IoT - Zephyr
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacy
Prototypage IoT avec logiciel/matériel libre
Prototypage IoT avec logiciel/matériel libre
Intro grpc.net
Intro grpc.net
Boostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpedit
Introduction à l'Open Hardware
Introduction à l'Open Hardware
Mehr von Logilab
Testinfra pyconfr 2017
Testinfra pyconfr 2017
Logilab
Open Source & Open Data : les bienfaits des communs
Open Source & Open Data : les bienfaits des communs
Logilab
Salon Open Data
Salon Open Data
Logilab
Pydata Paris Python for manufacturing musical instruments
Pydata Paris Python for manufacturing musical instruments
Logilab
Présentation Logilab
Présentation Logilab
Logilab
Système d'archivage électronique mutualisé
Système d'archivage électronique mutualisé
Logilab
Utiliser salt pour tester son infrastructure sur open stack ou docker
Utiliser salt pour tester son infrastructure sur open stack ou docker
Logilab
Importer des données en Python avec CubicWeb 3.21
Importer des données en Python avec CubicWeb 3.21
Logilab
Simulagora au service d'un grand défi industriel
Simulagora au service d'un grand défi industriel
Logilab
Simulagora - Salon du Bourget
Simulagora - Salon du Bourget
Logilab
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Logilab
Study of the dynamic behavior of a pump with Code_ASTER on Simulagora
Study of the dynamic behavior of a pump with Code_ASTER on Simulagora
Logilab
Initialiser des conteneurs Docker à partir de configurations Salt construites...
Initialiser des conteneurs Docker à partir de configurations Salt construites...
Logilab
Battle Opendata - Logilab - Cubicweb
Battle Opendata - Logilab - Cubicweb
Logilab
Debconf14 : Putting some salt in your Debian systems -- Julien Cristau
Debconf14 : Putting some salt in your Debian systems -- Julien Cristau
Logilab
Simulagora (Euroscipy2014 - Logilab)
Simulagora (Euroscipy2014 - Logilab)
Logilab
PAFI (Euroscipy2014 - Logilab)
PAFI (Euroscipy2014 - Logilab)
Logilab
Open Legislative Data Conference 2014
Open Legislative Data Conference 2014
Logilab
BRAINOMICS A management system for exploring and merging heterogeneous brain ...
BRAINOMICS A management system for exploring and merging heterogeneous brain ...
Logilab
Présentation sur le stand à l'OpenWorldForum 2013
Présentation sur le stand à l'OpenWorldForum 2013
Logilab
Mehr von Logilab
(20)
Testinfra pyconfr 2017
Testinfra pyconfr 2017
Open Source & Open Data : les bienfaits des communs
Open Source & Open Data : les bienfaits des communs
Salon Open Data
Salon Open Data
Pydata Paris Python for manufacturing musical instruments
Pydata Paris Python for manufacturing musical instruments
Présentation Logilab
Présentation Logilab
Système d'archivage électronique mutualisé
Système d'archivage électronique mutualisé
Utiliser salt pour tester son infrastructure sur open stack ou docker
Utiliser salt pour tester son infrastructure sur open stack ou docker
Importer des données en Python avec CubicWeb 3.21
Importer des données en Python avec CubicWeb 3.21
Simulagora au service d'un grand défi industriel
Simulagora au service d'un grand défi industriel
Simulagora - Salon du Bourget
Simulagora - Salon du Bourget
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Study of the dynamic behavior of a pump with Code_ASTER on Simulagora
Study of the dynamic behavior of a pump with Code_ASTER on Simulagora
Initialiser des conteneurs Docker à partir de configurations Salt construites...
Initialiser des conteneurs Docker à partir de configurations Salt construites...
Battle Opendata - Logilab - Cubicweb
Battle Opendata - Logilab - Cubicweb
Debconf14 : Putting some salt in your Debian systems -- Julien Cristau
Debconf14 : Putting some salt in your Debian systems -- Julien Cristau
Simulagora (Euroscipy2014 - Logilab)
Simulagora (Euroscipy2014 - Logilab)
PAFI (Euroscipy2014 - Logilab)
PAFI (Euroscipy2014 - Logilab)
Open Legislative Data Conference 2014
Open Legislative Data Conference 2014
BRAINOMICS A management system for exploring and merging heterogeneous brain ...
BRAINOMICS A management system for exploring and merging heterogeneous brain ...
Présentation sur le stand à l'OpenWorldForum 2013
Présentation sur le stand à l'OpenWorldForum 2013
Pylint : 10 ans, état des lieux
1.
État des lieux Capitol
du Libre 23 novembre 2013
2.
Pylint ? Un analyseur statique de code Python ● ● ● Trouve des bugs comme un compilateur (mais beaucoup moins) Vérifie les conventions de codage (beaucoup plus) Et aussi : « mauvaise » utilisation de Python, code smell,
etc. Environ 170 vérifications ! Initié par Logilab en 2003 : 10 ans d’existence en 2013 !
3.
Architecture ● ● ● ● Pylint s'appuie sur une bibliothèque pour la représentation du code source, Astroid Le moteur parcourt l'arbre de syntaxe et envoie des évènements à des checkers Ces checkers envoient des messages à un reporter Architecture extensible ● Beaucoup de possibilités de configuration ● Système de greffon pour ses propres checkers ● Astroid est lui-même configurable
4.
Distribution de Pylint Intégré à la plupart des IDE http://docs.pylint.org/ide-integration Intégré à la plupart des distributions Linux Pypi https://pypi.python.org/pypi/pylint Entrepôt Mercurial https://bitbucket.org/logilab/pylint
5.
Analyseurs de code Python ● Pychecker (2001 – 2011) ● Pylint (2003 – ) ● Pep8 (2006 – ) ● Pyflakes (2006 – ) ● Flake8 (2010 – ) ● McCabe (?) ● etc.
6.
Un projet communautaire ● Depuis le début, volonté d'un projet communautaire par Logilab ● Reste un certain instinct de paternité ● Et un temps limité ➢ Comme toujours, il faut faire des choix et des compromis
7.
Des choix... de communication Bon accueil et réactivité sur ● Liste de discussion ● Tickets ● Patchs Faible support et communication sur : ● IRC ● Twitter
8.
Des choix... d'interaction Des releases régulières (tous les 2/3 mois) Une forge de développement maison Déménagement sur Bitbucket en signe d'ouverture à la communauté (et parce qu'on n'est plus en 2003)
9.
Des choix...techniques Résistance ! ● Les œufs, c'est pour les omelettes - Debian vaincra ! ● Winquoi ? Debian vaincra ! ● Standards LogilaboLogilabiens Mais certains choix stratégiques l'emportent ● Support Windows / Setuptools ● Py3k
10.
Social ChangeLog Mai 2003 0.1 Oct. 2003 0.2.1, 1er patch externe (?) … releases tous les 2-3 mois Mai 2008 découverte de l'existence de gpylint Juil. 2011 0.25, 1ere « Google » release Avril 2013 déménagement chez Bitbucket Juin 2013 sprint vers 1.0 Août 2013 1.0, logilab-astng devient astroid
11.
Quelques chiffres (très approximatifs) Depuis mi-2006 (passage à Mercurial) : ● ● ● 2,101 commits, 56 contributeurs pour un total de 23,119
lignes de code estimé à 6 années-homme d'effort + de 70 % des commits par Logilab (!= lignes de code!) https://www.ohloh.net/p/pylint/contributors/summary Sur l'année : ● un « googler » a les droits en écriture ● 50 % des commits par des contributeurs ● 70 Pull Requests / 110 tickets depuis avril
12.
Retour d'expérience - 1 Libre != retours
et contributions sans effort ● ● La base = répondre à un besoin Durer dans le temps = fédérer et animer une communauté ● via tous les canaux possibles ● bon accueil, respect, réactivité
13.
Retour d'expérience - 2 ● ● Code de qualité Communiquer (documentation, annonces, blogs, etc.) ➢ ● Se démarquer, fidéliser ➢ ● veille Google, StackOverflow, Twitter note Pylint Évoluer en fonction des nouveaux besoins et des nouveaux moyens
14.
Retour d'expérience – 3 ● Attention à l'affiliation trop explicite du projet à une société, e.g. logilab-astng, http://www.logilab.org/project/pylint ➢ ● http://pylint.org (Très) difficile de fidéliser des contributeurs, faciliter au maximum les contributions (tickets, patchs, etc.) ➢ https://bitbucket.org/logilab/pylint
15.
Actions et projets porteurs ● Projets étudiants master & assimilés ● Google Summer of Code ● Sprints et bug days ● Projet FUI SafePython http://www.safe-python.fr/ Coder; répondre aux questions ; releaser ; communiquer ; coder ; répondre ; releaser ; communiquer ; coder ; répondre ; releaser ; communiquer ; coder ; répondre ; releaser ; communiquer ; coder ; répondre ; releaser ; communiquer...
16.
Retour sur investissement ● Pour Logilab : ● ● ● Communication Reconnaissance Pour moi : ● ● Compétence technique (architecture, connaissance de Python, expérience d'autres développeurs...) Compétence sociale (animation de communauté, interactions)
17.
What's next pour Pylint ? ● Plein d'idées d'améliorations, bugs à corriger... ● Contributeurs ponctuels, voire réguliers ● Qui pour intégrer / animer / releaser ? (Attention, on s'attache à ces ptites bêtes là)
18.
Merci ! Sylvain Thénault sylvain.thenault@logilab.fr @sythenault http://pylint.org/ http://www.logilab.org/
Jetzt herunterladen