# Kaleidoscope's implementation - possible improvements

**URL:** https://community.keyboard.io/t/kaleidoscopes-implementation-possible-improvements/851
**Category:** Programming
**Created:** [December 11, 2017, 10:48am UTC](https://community.keyboard.io/t/kaleidoscopes-implementation-possible-improvements/851 "2017-12-11T10:48:35Z")
**Posts on this page:** 1
**Showing post:** 25

<div class="post-metadata">

### Author: ![merlin](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/merlin/32/3416_2.png) [@merlin](https://community.keyboard.io/u/merlin)
#### Post date: [December 15, 2017, 6:14pm UTC](https://community.keyboard.io/t/kaleidoscopes-implementation-possible-improvements/851/25 "2017-12-15T18:14:53Z")

</div>

> [@noseglasses](#):
>
> In C++ getters and setters are very useful.

Yes, they are. But if we have an object of any kind (class, struct, or union) that _does_ contain a public data member _for whatever reason the author chose to do so_, I find it useful to omit the trailing underscore.

And see also @algernon’s response:

> [@Why use properties instead of setters/getters?](https://community.keyboard.io/t/why-use-properties-instead-of-setters-getters/514/2):
>
> Code size, mostly. Setters/getters have a small amount of PROGMEM and SRAM cost, and while a single one is small, many settable things can have a significant impact on code size. If I recall correctly, we’re talking about over a hundred bytes saved by using public properiets instead of accessors. While accessors have a lot of uses, and I’d prefer them on code that runs on less constrained hardware, when resources are as limited as they are on the AVRs used in the Model01, practicality wins ove…

Feel free to complicate your code with impenetrable C++ -isms all you like, but your solutions to the problems posed by slavish adherence to strict object-oriented coding practices make it even more difficult for people like me to meaningfully contribute to the project. When you claim that it doesn’t degrade readability, that’s a subjective judgement, not shared by everyone.

---

_[View the full topic](https://community.keyboard.io/t/kaleidoscopes-implementation-possible-improvements/851)._
