Hacker News new | ask | show | jobs
by trashburger 2244 days ago
Looking at the Github, it really feels like you should organize your code better. There are many files with the same prefix that should go into their own src/{prefix} subdirectories. The README is really lackluster and should contain installation information and screenshots at least.

https://github.com/DirkJanJansen/Pandora/blob/master/invoerI... What the heck is this supposed to be? Are you really creating a database table and then a connection, and executing that in the middle of some random code? You really need to separate this out. And this is not a cherrypicked complaint, this is the first file I randomly clicked in the repo.

https://github.com/DirkJanJansen/Pandora/search?q=create_eng... This looks like you're creating a new engine anywhere you need database access. This is NOT how you use SQLAlchemy. Create a database.py file that contains a SINGLE create_engine function, and define all your tables in one place. This code looks like a real mess.

Don't take this as a personal attack. We all had to start somewhere. But this is not something I'd call top quality or really even quality.

1 comments

I'm aware, that the code could be organised better. But keep in mind, that the program is not written by a professional. It's intended as an example for integration python with a database system for the community and i am convinced that the program helds many aspects as a learning purpose for instance integrating graphs. And screenshots by the way are available in the project at https://github.com/DirkJanJansen/Pandora/tree/master/Install... And as far as to your first comment over creating tables, this is not creating tables, but defining it to the program. I should read more accurate, before commenting
The problem is that if you are putting this out there for purposes of education, it should use best practices, and it clearly doesn't here. I suggest that you significantly refactor this code. I believe that it can become much better with more modularization, more clearly explaining some aspects of the code and better project structuring.
>The problem is that if you are putting this out there for purposes of education, it should use best practices

There's a French saying that goes "C'est en forgeant qu'on devient forgeron" (it is by "black-smithing" that one becomes a black-smith).

One way to discover best practices is by putting things out in the open and receiving benevolent feedback on how to do it better.

The code will improve as the author reads more about best practices to apply on a real project they have shared with the comunity, and a benevolent comunity submitting issues and pull requests.

Here's the link to create an issue in that repo:

https://github.com/DirkJanJansen/Pandora/issues/new

Putting something out in the open does not imply any duties.

If you are so concerned, fork it.

We look forward to seeing your version!