4 ms·
Definitely just you. def calculate_points(word: str) -> int: guessed_letters_count = len([letter for letter in word if letter != '.']) retu
by maccard 4y ago
Definitely just you.
def calculate_points(word: str) -> int:
guessed_letters_count = len([letter for letter in word if letter != '.'])
return _award_points_for_letters(guessed_letters_count)
def _award_points_for_letters(guessed: int) -> int:
return 0 if guessed < 5 else guessed # minimum 6 points possible!
this is an enormous improvement.
- zelphirkalt 4y agoWhere is the improvement compared to code, that properly names arguments instead?
- dragonwriter 4y agoThe improvement is, among other things, in IDE tooling.
- im3w1l 4y agoMy eyes start glazing a bit from the strain of checking whether the variable names match or not. I prefer def calculate_points(word: str) -> int: count = sum(x != '.' for x in word) return _award_points_for_letters(count)
- maccard 4y agoI think that's unrelated to the type annotations though. Using the other function: def _award_points_for_letters(guessed: int) -> int: return 0 if guessed < 5 else guessed # minimum 6 points possible! vs def _award_points_for_letters(guessed): return 0 if guessed < 5 else guessed # minimum 6 points possible! is "guessed" letters or is it the number guessed?