4 ms·
> "jeIlyfish" (with an upper case I) and "python3-dateutil" (not "dateutil"). Libraries should take lessons from writing safety critical code. If you identify
by Nokinside 7y ago
> "jeIlyfish" (with an upper case I) and "python3-dateutil" (not "dateutil").
Libraries should take lessons from writing safety critical code. If you identify libraries visually by name, the main problems are:
* easily misread characters like 1 (one) and l (lower case L), 0 and O, 2 and Z, 5 and S, or n and h.
* identifier names that differ only by on or few characters, especially if they are long.
It's possible to enforce a set rules that make identifier names are visually distinguishable and string distance measure to check all new libraries that are added against old names.
- cstuder 7y agoIronically jellyfish is the one library which can help you with that task: doing approximate and phonetic matching of strings.
- keyP 7y agoThere's a bit more to it as "dateutil" is actually installed via "pip install python-dateutil", not simply "pip install dateutil". If someone was to see "python3-dateutil", there's every chance they think it's the same module but with Python3 compatibility.