You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by GitBox <gi...@apache.org> on 2020/02/14 19:14:06 UTC

[GitHub] [incubator-superset] suddjian commented on issue #9077: [SIP-35] Proposal for Improving Superset’s Python Code Organization

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:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org