
Hallo, ich habe mal eine Idee veröffentlicht, die mir schon lange vorschwebt: https://github.com/guettli/python-name2type-mapping/ Feedback is willkommen. ------------------------------ Python name2type mapping In October 2018 on the mailing list python-ideas some developers encouraged me, that the idea of a name2type mapping would be usefull. Goal: Better type-hints in IDEs. This is not the goal: Type-hints which get used during run-time. Syntax Proposal The name2type mapping is defined in the docstring of a Python file. The general syntax is "name2type:" followed by a comma sperated list of variable names. Then ":", then the type hint. Examples: """ name2type: my_int, my_number, ....: int name2type: request*: django.http.HttpRequest """" If the docstring is in a file called __init__.py, then the type hints get specified for all files below this directory (recursively). Misc The name2type mapping is just a fall-back. First the IDE does the usual type detection and if no type could be found, then name2type mapping gets used. Except explicitly switched off. But this switch is not part of the spec. -- Thomas Guettler http://www.thomas-guettler.de/ I am looking for feedback: https://github.com/guettli/programming-guidelines

Thomas Güttler schrieb am 26.10.18 um 09:53:
ich habe mal eine Idee veröffentlicht, die mir schon lange vorschwebt:
Mich würden drei Dinge interessieren: 1. Welches Problem wird gelöst? 2. Welche Probleme können durch die Änderung entstehen? 3. Wurde die Idee bereits irgendwo anders (andere Programmiersprache) angedacht oder umgesetzt? Das könnte einen Hinweis auf die ersten beiden Fragen geben. :) Gruß, der Marco.

Am 26.10.18 um 13:05 schrieb Marco Bakera:
Thomas Güttler schrieb am 26.10.18 um 09:53:
ich habe mal eine Idee veröffentlicht, die mir schon lange vorschwebt:
Mich würden drei Dinge interessieren:
1. Welches Problem wird gelöst?
Obige URL zeigt einen englischen Text der wenige Wörter lang ist. Was ist an "Better type-hints in IDEs." unverständlich? Gruß, Thomas -- Thomas Guettler http://www.thomas-guettler.de/ I am looking for feedback: https://github.com/guettli/programming-guidelines

Thomas Güttler schrieb am 26.10.18 um 14:23:
Am 26.10.18 um 13:05 schrieb Marco Bakera:
Mich würden drei Dinge interessieren:
1. Welches Problem wird gelöst?
Obige URL zeigt einen englischen Text der wenige Wörter lang ist. Was ist an "Better type-hints in IDEs." unverständlich?
Den Text hatte ich gelesen. "Better type-hints" beschreibt aber kein Problem, das gelöst werden soll und klang für meinen Geschmack zu generisch. In welcher Hinsicht soll denn etwas verbessert werden? Was fehlt bei den derzeitigen Type-Hints? Und wurde dieser Aspekt beim Entstehen von PEP 484 bereits diskutiert? Gruß, Marco.

On 26/10/2018 15.45, Marco Bakera wrote:
Thomas Güttler schrieb am 26.10.18 um 14:23:
Am 26.10.18 um 13:05 schrieb Marco Bakera: Den Text hatte ich gelesen. "Better type-hints" beschreibt aber kein Problem, das gelöst werden soll und klang für meinen Geschmack zu generisch. In welcher Hinsicht soll denn etwas verbessert werden? Was fehlt bei den derzeitigen Type-Hints? Und wurde dieser Aspekt beim Entstehen von PEP 484 bereits diskutiert?
Genau. In welchem Zusammenhang stehen die von dir vorgeschlagenen Type Hints und die schon existierenden? Kannst du vielleicht noch einen Link zum Mailinglisten- Thread angeben statt zu deiner Github-Seite? Dann könnte man gegebenenfalls sehen, was vielleicht noch zu dem Thema an Feedback kam, oder sogar dort die Diskussion weiterführen. Generell finde ich Bezeichner wie `foo2bar` (also "2" als Abkürzung für "to") ziemlich furchtbar. Entweder sollte man `type_to_name` ausschreiben oder einen Namen wählen, der ohne den "Trick" mit der "2" auskommt. Viele Grüße Stefan

Am 26.10.18 um 15:45 schrieb Marco Bakera:
Thomas Güttler schrieb am 26.10.18 um 14:23:
Am 26.10.18 um 13:05 schrieb Marco Bakera:
Mich würden drei Dinge interessieren:
1. Welches Problem wird gelöst?
Obige URL zeigt einen englischen Text der wenige Wörter lang ist. Was ist an "Better type-hints in IDEs." unverständlich?
Den Text hatte ich gelesen. "Better type-hints" beschreibt aber kein Problem, das gelöst werden soll und klang für meinen Geschmack zu generisch. In welcher Hinsicht soll denn etwas verbessert werden? Was fehlt bei den derzeitigen Type-Hints? Und wurde dieser Aspekt beim Entstehen von PEP 484 bereits diskutiert?
Ich habe mal ein Beispiel hinzugefügt: https://github.com/guettli/python-name2type-mapping/#use-case-example {{{ Use Case Example Your code base contains a variable name "request" 100 times, and in 70 times the variable type is an instance of "django.http.HttpRequest" (detected by usual type annotations). If you want to have valid type information of all occurences of "request" in your code, then you need to find a solution for 30 usages. You could annotate the variable in your code 30 times (once per method). Or you could define a name2type mapping in the __init__.py file if your code. }}} Was ist nun noch unklar? Gruß, Thomas -- Thomas Guettler http://www.thomas-guettler.de/ I am looking for feedback: https://github.com/guettli/programming-guidelines
participants (3)
-
Marco Bakera
-
Stefan Schwarzer
-
Thomas Güttler