The project's history can be viewed here.
Objectives
- This framework standardizes Java based source code.
- The resulting code should maximize support for automatic refactoring like method renaming or moving.
- Provide an interface for programs, that maximizes the replace-ability of interface implementations (i.e. dependency injection) and supports the injection of functionality into existing code (i.e. aspect oriented programming).
- Enable one to write and maintain long lasting code with reasonable efforts in the context of ever
changing language features and dependencies.
- Therefore, make the resulting core functionality portable, adaptable and compatible as reasonable possible. Furthermore, minimizing the complexity of the core functionality is helpful as well.
- Define and enforce a subset of Java for core functionality in order to achieve this goal.
- Provide access to all dependencies via static methods and static final flags, which work like header files in C source code.
- Work with only one global state variable, that represents the complete environment of the current logical process. It can be thought of as a variable, that is implicitly passed through every method call. Multiple global state variables are not allowed.
- Provide an easy workflow to setup an environment, execute a program and to destroy the environment after the execution.
- Contain side effects and provide an interface in order to manage side effects.
- Organize all things in a tree like structure, in order to support information management.
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
- SPDX-FileCopyrightText: Contributors To The
net.splitcells.*
Projects