reminders
has same name as its encolising class Reminders
4
5class Reminders:
6 def __init__(self):
7 self.reminders = database()["self_reminders"] 8
9 def get_all_reminders(self):
10 query = self.reminders.find({}, {"_id": 0})
profiles
has same name as its encolising class Profiles
3
4class Profiles:
5 def __init__(self):
6 self.profiles = database()["profiles"] 7
8 def all_profiles(self):
9 return self.profiles.find()
There is a class member with the same name (not considering the case difference) as its enclosing class.
This can cause confusion while reading the code later on keeping a track of what the field represents. It is strongly recommended to provide self-explanatory names so that someone who's reading the code doesn't have to spend time keeping a track of the variable/method names.
class Orange:
'''We mean, the fruit.'''
orange = "#FFA500"
# Other class implementations
def get_orange(self):
return abc
fruit = Orange()
render_to_frontend(fruit.orange) # Rendering a color, but one can get confused with the fruit
render_bg(fruit.get_orange) # Not clear that `get_orange` is returning a color
class Orange:
'''We mean, the fruit.'''
color = "#FFA500"
# Other class implementations
def get_color(self):
return abc
fruit = Orange()
render_to_frontend(fruit.color) # Evident that we are working with color
render_bg(fruit.get_color) # Evident that we are fetching the fruit's color