> For the complete documentation index, see [llms.txt](https://heronyang.gitbook.io/clean-up-your-spaghetti/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://heronyang.gitbook.io/clean-up-your-spaghetti/preface.md).

# Preface

This is the handout in book format for the ALPHA Camp sharing session in 2016 Spring.

The goal is to share the idea of writing Clean Code including the methods and the right mind set. Content in this books are mostly from the book **Clean Code**, but also from my personal academic experience from [**CMU - Principles of Software Construction (15-214)**](https://www.cs.cmu.edu/~charlie/courses/15-214/2015-spring/).

## Prerequisite

* Knowing at least one modern programming language
* Caring about your code

## Language Used

I've tried to minimize the background knowledge required here.

* **Java** is used in the original book, and it will be in my examples. However, **it doesn't mean that you have to know Java here**, I've filtered out the details. That is, once you understand at least one modern programming language, you should be fine.
* **Your own code** and **JavaScript** will be used for exercises. This shouldn't be a problem for most of the people. In case that you don't know JavaScript, it's easy to pick up.

## Book - Clean Code

* [Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin](http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882)
* [\[Chinese\] 無瑕的程式碼：敏捷軟體開發技巧守則](http://www.books.com.tw/products/0010579897)
