From: Luca Vizzarro <Luca.Vizzarro@arm.com>
To: Dean Marx <dmarx@iol.unh.edu>
Cc: dev@dpdk.org, Patrick Robb <probb@iol.unh.edu>,
Paul Szczepanek <paul.szczepanek@arm.com>
Subject: Re: [RFC PATCH 0/7] dts: revamp framework
Date: Wed, 12 Feb 2025 16:52:45 +0000 [thread overview]
Message-ID: <41dd3fe7-ca21-4975-82ad-1149142ce06f@arm.com> (raw)
In-Reply-To: <CABD7UXP1rU9ZC8uQK33B4H5QR6noQiu9agwR1yapEOpn81EZ5Q@mail.gmail.com>
On 04/02/2025 21:08, Dean Marx wrote:
> Hi Luca,
>
> I saw in the meeting minutes that the main purpose of this series is
> to implement the separation of concern principle better in DTS. Just
> wondering, what parts of the current framework did you think needed to
> be separated and why? I'm taking an OOP class this semester and we
> just started talking in depth about separation of concerns, so if you
> wouldn't mind I'd be interested in your thought process. Working on a
> review for the series currently as well, should be done relatively
> soon.
>
> Thanks,
> Dean
Hi Dean,
For starters all the major logic was held within the `runner.py` file,
which is not ideal. When some logic touches the same object too often,
maybe its an indicator that it actually belongs to that class instead.
For example, the test suite and cases are configured within the
configuration. Anything configuration should be kept within the
configuration, the runner should assume that the configuration is final
and is ready to be fed to the classes. For this reason, I've moved the
test suite and cases filtering logic there. Test runs are a whole
concept on their own, and they have their own logic. For this reason it
is a better idea to have them individually in their own dedicated class
where they can control themselves. As opposed to having a runner.py
basically dealing with every part of the framework in the same place. If
you were to make a graph with all the linked classes to runner.py, I am
sure it'd look like spaghetti. We don't want that. We want a hierarical
and structured approach. Separation of concerns will aid this by keeping
things where they belong, minimising import/export. This will also help
with circular import issues.
Hope this provides some insight!
Luca
next prev parent reply other threads:[~2025-02-12 16:52 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-03 15:16 Luca Vizzarro
2025-02-03 15:16 ` [RFC PATCH 1/7] dts: add port topology configuration Luca Vizzarro
2025-02-07 18:25 ` Nicholas Pratte
2025-02-12 16:47 ` Luca Vizzarro
2025-02-11 18:00 ` Dean Marx
2025-02-12 16:47 ` Luca Vizzarro
2025-02-03 15:16 ` [RFC PATCH 2/7] dts: isolate test specification to config Luca Vizzarro
2025-02-10 19:09 ` Nicholas Pratte
2025-02-11 18:11 ` Dean Marx
2025-02-03 15:16 ` [RFC PATCH 3/7] dts: revamp Topology model Luca Vizzarro
2025-02-10 19:42 ` Nicholas Pratte
2025-02-11 18:18 ` Dean Marx
2025-02-03 15:16 ` [RFC PATCH 4/7] dts: improve Port model Luca Vizzarro
2025-02-11 18:56 ` Dean Marx
2025-02-03 15:16 ` [RFC PATCH 5/7] dts: add runtime status Luca Vizzarro
2025-02-11 19:45 ` Dean Marx
2025-02-12 18:50 ` Nicholas Pratte
2025-02-03 15:16 ` [RFC PATCH 6/7] dts: add global runtime context Luca Vizzarro
2025-02-11 20:26 ` Dean Marx
2025-02-03 15:16 ` [RFC PATCH 7/7] dts: revamp runtime internals Luca Vizzarro
2025-02-11 20:50 ` Dean Marx
2025-02-04 21:08 ` [RFC PATCH 0/7] dts: revamp framework Dean Marx
2025-02-12 16:52 ` Luca Vizzarro [this message]
2025-02-12 16:45 ` [PATCH v2 " Luca Vizzarro
2025-02-12 16:45 ` [PATCH v2 1/7] dts: add port topology configuration Luca Vizzarro
2025-02-12 16:45 ` [PATCH v2 2/7] dts: isolate test specification to config Luca Vizzarro
2025-02-12 16:45 ` [PATCH v2 3/7] dts: revamp Topology model Luca Vizzarro
2025-02-12 16:45 ` [PATCH v2 4/7] dts: improve Port model Luca Vizzarro
2025-02-12 16:45 ` [PATCH v2 5/7] dts: add global runtime context Luca Vizzarro
2025-02-12 19:45 ` Nicholas Pratte
2025-02-12 16:45 ` [PATCH v2 6/7] dts: revamp runtime internals Luca Vizzarro
2025-02-12 16:46 ` [PATCH v2 7/7] dts: remove node distinction Luca Vizzarro
2025-02-12 16:47 ` [PATCH v2 0/7] dts: revamp framework Luca Vizzarro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41dd3fe7-ca21-4975-82ad-1149142ce06f@arm.com \
--to=luca.vizzarro@arm.com \
--cc=dev@dpdk.org \
--cc=dmarx@iol.unh.edu \
--cc=paul.szczepanek@arm.com \
--cc=probb@iol.unh.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).