OpenMDAO / OpenMDAO/Aviary

Usage of None in AviaryProblem and SubsystemBuilder

Open
#1,135 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

code cleanup
Dominant language
Python
Stars
287
Forks
140
Avg merge
6d 14h
Merged PRs (30d)
18

Description

Desired capability or behavior.

Currently, the default values for most method arguments in various places in Aviary, including the AviaryProblem and SubsystemBuilder, is None. This is occasionally helpful (seeing if the user provided this argument in any way), and occasionally unhelpful (requiring checking if the object is not None before doing anything with it).

We should review and see if one way is generally more useful than the other, make sure Aviary is doing that uniformly, and sticking with that approach!

Suggested implementation.

None

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing default argument handling in AviaryProblem and SubsystemBuilder, then compare it with the other Aviary methods mentioned in the issue. Identify where None is useful for detecting omitted arguments versus where it only adds checks; done means the project follows one documented, consistent approach.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.