https://github.com/codecop/lcd-numbers-object-calisthenics-kata
Solve LCD Numbers under Object Calisthenics constraint.
https://github.com/codecop/lcd-numbers-object-calisthenics-kata
calisthenics code-kata exercise kata object-oriented
Last synced: 4 months ago
JSON representation
Solve LCD Numbers under Object Calisthenics constraint.
- Host: GitHub
- URL: https://github.com/codecop/lcd-numbers-object-calisthenics-kata
- Owner: codecop
- License: other
- Created: 2019-11-12T20:47:59.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-12T15:11:07.000Z (over 1 year ago)
- Last Synced: 2025-10-10T10:03:07.771Z (8 months ago)
- Topics: calisthenics, code-kata, exercise, kata, object-oriented
- Language: Python
- Homepage: https://blog.code-cop.org/2018/01/compliance-with-object-calisthenics.html
- Size: 223 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
# LCD Numbers Kata Object Calisthenics with Check
Sub folders contain templates for the [LCD Numbers Kata](http://rubyquiz.com/quiz14.html) in different programming languages.
## Requirements (copied from Ruby Quiz)
Write a program that creates an LCD string representation of an integer value
using a 4x7 grid of space each, using minus and pipe characters for each digit.
Each digit is shown below:
-- -- -- -- -- -- -- --
| | | | || || | || || |
| | | | || || | || || |
-- -- -- -- -- -- --
| | || | | || | || | |
| | || | | || | || | |
-- -- -- -- -- -- --
The bar size should be adjustable. The default value is 2 - as shown above.
Read more about it at [RubyQuiz](http://rubyquiz.com/quiz14.html).
## Constraints
[Jeff Bay's Object Calisthenics](https://williamdurand.fr/2013/06/03/object-calisthenics/).
1. Only One Level Of Indentation Per Method.
1. Don't Use The `else` Keyword.
1. Wrap All Primitives And Strings.
1. One Dot/Arrow (dereference) Per Line.
1. Don't Abbreviate (long names).
1. Keep All Entities Small. (50 lines of code per class)
1. Not More Than Two Instance Variables.
1. First Class Collections.
1. No Getters/Setters/Properties.
### Checking Code for Compliance
The sub folders contain tools to check your code for compliance with Object Calisthenics. See my blog post about [Object Calisthenics and how to enforce it](https://blog.code-cop.org/2018/01/compliance-with-object-calisthenics.html) for more details.
### License
This work is licensed under a [New BSD License](https://opensource.org/license/bsd-3-clause), see `license.txt` in repository.