Is there any mileage in having a naming convention to indicate the type of a variable? I have never really liked the fact that the Python 'duck typing' policy is so lax, yet the new "Type Hints" package for Python 3 is rather clumsy, IMO.


For example:

github_response = requests.get('https://api.github.com/user', auth=('user', 'pass'))  # Derived from http://docs.python-requests.org/en/master.


The above request returns a Response object and so the variable has 'response' in its name.


Likewise:

word_count = total_words_in_file('text_file')

where 'count' has been defined (in the IDE, by the user perhaps) as an Integer and the function is known to return an Integer, perhaps via a local 'count' or 'total' variable.

 

I know that this has been attempted before but I think that an IDE like PyCharm could actually check variable usage and issue a warning if a conflict is detected. Also earlier usages of this 'Hungarian Notation' have largely been applied to compiled languages - rather strangely, in the case of known types - rather than an interpreted one like Python. 


Please note that I have shown suffixes above but prefixes could also be valid. I am not sure about relying on 'type strings' within a variable name however.

Is this idea feasible, do you think?


Thanks ...

Richard

PS Originally posted in https://intellij-support.jetbrains.com/hc/en-us/community/posts/207286145--Hungarian-Notation-and-type-checking