suddjian commented on issue #9077: [SIP-35] Proposal for Improving Superset’s 
Python Code Organization
URL: 
https://github.com/apache/incubator-superset/issues/9077#issuecomment-586429496
 
 
   @metaperl 
   
   > who let these problems get into the codebase in the first place?
   
   Disorganization is a result of many people independently contributing to a 
project, focusing on shipping functional code quickly. This has worked well for 
Superset, but has resulted in a fair amount of tech debt. This SIP is about 
putting some structure in place that can help with future efforts. Blaming 
committers for these issues is not helpful or appropriate.
   
   > I have no idea what you are suggesting.
   
   The idea is that backend code should be focused on the entities being acted 
on, rather than the specific part of Superset that is interacting with that 
entity. For example, SQL Lab and Explore ("products") interact with 
Datasources, Queries, Users ("objects"). This is proposing that the backend 
should be focused on providing APIs that are object-centric (`POST 
/datasources`, `GET /queries`, rather than APIs that are specific to any one 
product within Superset.
   
   > IMHO the code is well-written. I had to trace throgh 7 levels of OO 
inheritance
   
   I would argue that you should not have to delve through 7 levels of 
inheritance to understand what a piece of code is doing. Simpler is better.
   
   > Isn't there a business reason for everything you display? how easy is it 
to separate the two?
   
   You may want to take a look at principles of [Clean 
Architecture](https://pusher.com/tutorials/clean-architecture-introduction) for 
some information on this.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to