Hungarian Notation is pretty universally disliked but I can't help but notice that many programmers, especially in Typescript or Javascript, still put "is" "should" "has" and "did" in front of variables to indicate that they are booleans. I don't understand why this practice persists and why the people writing this code don't just take their conclusions all the way and put "str" "arr" and "obj" in front of variables too. What's the difference and why do only booleans get a special Hungarian designation in so many people's source code? I don't mind Hungarian Notation. What I do mind is the logical inconsistency and doing things two separate ways.