Refactoring and documentation based on "Universal" common interfaces
@al-fisher がすでに取り組んでいます。
2021年7月26日 から。
評価
この issue はまだ評価されていません。
説明
Broken rules:
There are some keys interfaces that drive everything, defining the formal structure, dependency and organization of the BHoM.
We need to push a reorganization of their arrangement, tweak some conventions and namings, and relocate appropriately certain Engine methods that use/depend on them.
Suggestions to restore compliance:
WIP diagram:

Engines
BHoM_Engine
- Move the IGeometry and IGeometry3D methods into the Geometry_Engine.
Analytical_Engine-Graphics_Engine
- Methods that generalize the IResult representation.
Results_Engine
The Results engine should be deleted, as it currently depends on Structure_oM and Analytical_oM and Graphic_oM and its categorization is not meaningful.
- Move the Max, Min, Total, AbsoluteMax methods into Structure.Query.
- Move the DisplayMeshResults into Graphic_oM. Add Analytical_oM dependency in Graphic_oM.
- Move Analytical_Engine: Group, IsNull,
MapResults(to be renamedMappedResult). - Delete the Result_Engine.
Reflection_Engine
- Review / action the historic issue: https://github.com/BHoM/BHoM_Engine/issues/1645. Current thought is that if we move all methods that can be moved from the Reflection_Engine in the BHoM_Engine, what remains really is something that should be placed in a Code or Framework Engine? i.e. is Reflection the right name anymore?
Any objects/methods left obviously is code that is needed as part of the Framework for Adapters, UIs etc. and is distinct from the already existing Programming namespace that is "Programming as a discipline". i.e. creating Programming representation of a concept much like a Structural or Acoustics representation say
Object models
Base_oM
- Add description to the BHoMGroup and IBHoMGroup.
- Move the ISpecification interface in the CIH_Toolkit.
- Review the ComparisonConfig and if it makes sense to move it in the Diffing_oM.
- Review the usage of ISettings interface - if not used, remove; or see if it can be moved below.
Analytical_oM
- https://github.com/BHoM/BHoM/issues/1260
- Reformulate the IResult interface, including creating a compositional set of interfaces: IResult, IObjectResult, ICaseResult, ITimedResult, Structure.IResult
- Formalize the requirement of the IResult interface: a flat list of data primitives.
Graphical_oM
Reflection_oM / Programming_oM / Data_oM
-
Review / action the historic issue: https://github.com/BHoM/BHoM_Engine/issues/1645. And see above
-
Consider grouping Programming_oM with "Disciplines namespaces"; consider renaming to something more discipline-y (e.g. Scripting_oM)
-
Create a Library_oM and move there the Data, source from the Data_oM
-
Move out as much stuff as possible from the Data_oM to appropriate oMs: Requests -> Analytical_oM, etc. (see if dependency chain can be respected)
EDIT: Updated the diagram to latest WIP and point around Reflection namespace in light of updated diagram
- 主要言語
- 言語のデータがありません
- スター
- 0
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
BHoM/admin のほかの issue
-
type:question
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
-
Shall we expose toolkit-specific Ids through ToolkitId methods?再び着手できるかも @IsakNaslundBh が 2053 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンtype:feature type:question
-
All Modify methods should return void再び着手できるかも @IsakNaslundBh が 2184 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンtype:compliance
-
Diffing_Engine: review the structure/organisation of the identifiers再び着手できるかも @alelom が 2281 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンtype:question