Ask HN: What can lead to misleading names of functions?

3 points | by JZN666 9 days ago

2 comments

  • lostdog 9 days ago
    Not caring enough to try to come up with good names.

    I see tons of functions named update_data and get_state and add_items in the business logic sections, which should be named for the specific things they touch. But laziness leads to using meaningless generic terms.

    The other two are lack of English knowledge (both in native and non-native speakers), and when the function used to do something else but the name wasn't updated.

    • JZN666 8 days ago
      > I see tons of functions named update_data and get_state and add_items in the business logic sections

      Maybe they're bounded by some clear context like class or module which serves specific set of tasks? Writing in well designed context MyPartOfSystem things like MyPartOfSystemUpdateData is another smellish side of naming I think. Or writing just long names that are used only in very short context (ex. variable "drivingLicenseCard" instead of "e", "entry" in "drivingLicenseCards.every((drivingLicenseCard) => drivingLicenseCard && checkSomehow(drivingLicenseCard))").

      If they're not bound, then we have another source of spaghetti monster.

      • lostdog 7 days ago
        No, they are not bounded.
    • Nextgrid 8 days ago
      The real reason for PHP's bad function names is that early in the language's history, the hash function used to map function names to their actual code was the length of the string, so you couldn't have two function with a name of the same length, thus the intentionally inconsistent naming convention.
      • JZN666 8 days ago
        But this gives very short set of possible function names (up to 20 characters length (?), more is not adequate for development). And even with this parse_str could be named something like "url_parse_query_params_from_str(str)".