Форум сайта python.su
0
rami
Да вот тут как-раз этот велосипед и получился.
По факту сама прога разрослась до функционала: Ссылка на GitHub.
Но если в самом начале я был слишком глуп и молод, то на текущий момент я стал менее глупее и чуть по-взрослее)
И теперь понимаю что архитектура данного приложения слишком отвратительная, и на сейчас мне слишком мозолит глаза следующие вещи:
1. Почти все запросы к БД описал не в классе DB, а раскиданы по другим классам
2. Повторяемость некоторых участков кода, а именно:
[self.tree.delete(i) for i in self.tree.get_children()] [self.tree.insert('', 'end', values=row) for row in self.db.c.fetchall()]
NameError: name ‘app’ is not defined.
if __name__ == "__main__": root = tk.Tk() db = DB() app = Main(root) app.pack()
Офлайн
72
FeelgoodПолучился говнокод
И теперь понимаю что архитектура данного приложения слишком отвратительная, и на сейчас мне слишком мозолит глаза следующие вещи:
1. Почти все запросы к БД описал не в классе DB, а раскиданы по другим классам
2. Повторяемость некоторых участков кода, а именно:

#Сортировка по полю ID def sort_records_by_id(self): self.db.c.execute('SELECT * FROM finance ORDER BY ID') [self.tree.delete(i) for i in self.tree.get_children()] [self.tree.insert('', 'end', values=row) for row in self.db.c.fetchall()] #Сортировка по полю decription def sort_records_by_description(self): self.db.c.execute('SELECT * FROM finance ORDER BY description') [self.tree.delete(i) for i in self.tree.get_children()] [self.tree.insert('', 'end', values=row) for row in self.db.c.fetchall()] #Сортировка по полю costs def sort_records_by_costs(self): self.db.c.execute('SELECT * FROM finance ORDER BY costs') [self.tree.delete(i) for i in self.tree.get_children()] [self.tree.insert('', 'end', values=row) for row in self.db.c.fetchall()] #Сортировка по полю total def sort_records_by_total(self): self.db.c.execute('SELECT * FROM finance ORDER BY total') [self.tree.delete(i) for i in self.tree.get_children()] [self.tree.insert('', 'end', values=row) for row in self.db.c.fetchall()]
Офлайн