# What factors decide if a code is hard to understand?

**URL:** <https://forums.kodeco.com/t/what-factors-decide-if-a-code-is-hard-to-understand/176848>\
**Category:** Advanced iOS App Architecture\
**Created:** [August 15, 2022, 7:48pm UTC](https://forums.kodeco.com/t/what-factors-decide-if-a-code-is-hard-to-understand/176848 "2022-08-15T19:48:24Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![fai](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/fai/32/102075_2.png) [@fai](https://forums.kodeco.com/u/fai)\
**Post date:** [August 15, 2022, 7:48pm UTC](https://forums.kodeco.com/t/what-factors-decide-if-a-code-is-hard-to-understand/176848/1 "2022-08-15T19:48:24Z")

</div>

> Code that’s hard to understand leads to code that easily breaks when changed.

What if some people find MVC to be very easy to understand (for their own reasons) as compared to architectures like MVVM, MVP, VIPER, etc.? What if they break less code when using MVC compared to other architectures?

I use MVVM almost all of the time. But I know some big projects that are written in MVC and the devs prefer it to be that way (as I noticed). So reading the quoted sentence above, it led me to ask the question, what actually decides if a code is hard to understand?

---

<div class="post-metadata">

**Author:** ![robertomachorro](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/robertomachorro/32/111603_2.png) [@robertomachorro](https://forums.kodeco.com/u/robertomachorro)\
**Post date:** [August 17, 2022, 11:38am UTC](https://forums.kodeco.com/t/what-factors-decide-if-a-code-is-hard-to-understand/176848/2 "2022-08-17T11:38:14Z")

</div>

Code architecture isn’t necessarily the same as code blocks. Code can be written in a hundred lines per method, with bad variable names, sparse or poorly descriptive comments and still be MVVM or VIPER.

Code that is easy to understand is clean within itself, within a block, within a line. You can come back to your own code a year later and fairly easily understand what is going on. Or the same with someone else’s code. If you are scratching your head when looking at your own code a few weeks after you wrote it, then it’s not good code.

---

<div class="post-metadata">

**Author:** ![fai](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/fai/32/102075_2.png) [@fai](https://forums.kodeco.com/u/fai)\
**Post date:** [August 20, 2022, 3:44pm UTC](https://forums.kodeco.com/t/what-factors-decide-if-a-code-is-hard-to-understand/176848/3 "2022-08-20T15:44:08Z")

</div>

That makes sense. Thanks!
