Skip to content

Commit

Permalink
[#70] Updated README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
skapral authored Oct 8, 2017
1 parent 9fd1f21 commit ca0ee68
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,22 @@
[![Build Status](https://img.shields.io/travis/project-avral/oo-atom/master.svg)](https://travis-ci.org/project-avral/oo-atom)
[![PDD status](http://www.0pdd.com/svg?name=project-avral/oo-atom)](http://www.0pdd.com/p?name=project-avral/oo-atom)

OO-atom is a desperate attempt to make Java programming more predictable and transparent. Instead of fighting the boilerplate code by hiding it, introducing hidden coupling, like it is done by Java EE, Spring and Hibernate, OO-atom greets clean design by taking the most from Java SE, and the best from OOP.
## Disclaimer
The project is currently on early stage. Not all of the planned features are currently implemented, and everything may be changed in future.

## Intro

OO-atom is a desperate attempt to make Java programming more predictable and transparent. Instead of fighting the boilerplate code by hiding it, introducing hidden coupling, like it is done by Java EE, Spring, Hibernate and other "magical" solutions, OO-atom greets clean and open design by taking the most from Java SE, and the best from OOP.

The project is inspired by the guidelines from the books "[Elegant Objects](http://www.yegor256.com/elegant-objects.html)", written by Yegor Bugayenko, and the materials from his [blog](http://www.yegor256.com/tag/oop.html). However, several changes and additions were made to initial concept - see [this]() page for the list of differences.

The project is built around the term named Atom. Atom is a Java class, which strictly follows a set of [requirements](ATOM_SPECIFICATION.md). For each Atom, OO-atom project enforces:
- composition over inheritance
- design by contract
- safe code reuse techniques
- SOLID
The project is built around the term named Atom. Atom is a Java class, which strictly follows a set of [requirements](ATOM_SPECIFICATION.md). For all Atoms, OO-atom seeks for the best ways of improving quality, maintainability, test coverage and performance.

OO-atom project is designed on the following principles:
- it is transparent. It never dictates the architecture of your applications.
- it is flexible. You are free to use it with any solution from a large Java ecosystem
- it operates at compile-time only. It never brings ad-hoc runtime dependencies to your application.

The project is inspired by the guidelines from the books "[Elegant Objects](http://www.yegor256.com/elegant-objects.html)", written by Yegor Bugayenko, and the materials from his [blog](http://www.yegor256.com/tag/oop.html). However, several changes and additions were made to initial concept - see [this]() page for the list of differences.

# Quick start with Maven

1. Add OO-atom repository to your project's POM file:
Expand Down Expand Up @@ -61,7 +62,5 @@ The project is inspired by the guidelines from the books "[Elegant Objects](http

4. Study the [samples](atom-samples)

Maven will track each class of your project, fail the project's build if any of the class doesn't match the Atom's specification, and apply additional instrumentaions for each Atom. This process is the recommended way of development in OO-atom-managed projects, but in complicated cases, it can be overriden. This process in details is explained [here]().

## Disclaimer
The project is currently on early stage. Not all of the features are currently implemented, and everything may be changed in future.

2 comments on commit ca0ee68

@0pdd
Copy link

@0pdd 0pdd commented on ca0ee68 Oct 8, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Puzzle 47-bc13e3a4 discovered in atom-codegen/src/test/java/oo/atom/r/AssertResultIsErroneousTest.java and submitted as #74.

@0pdd
Copy link

@0pdd 0pdd commented on ca0ee68 Oct 8, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Puzzle 52-baeb9011 discovered in atom-tests/pom.xml and submitted as #75.

Please sign in to comment.