# Dealing with the Second Hardest Thing in Computer Science > A Quarto RevealJS presentation by Indrajeet Patil about choosing clear, consistent, and maintainable names in software development. This presentation explains why naming is difficult, how poor names create maintenance costs, and how to choose names that serve future readers of code. The examples are mostly Python-flavoured, but the guidance is language-agnostic. ## Primary URL - [Slides](https://www.indrapatil.com/second-hardest-cs-thing/) ## Source - [GitHub repository](https://github.com/IndrajeetPatil/second-hardest-cs-thing/) ## Topics - Naming things in computer science - Code readability and maintainability - Variable, function, class, Boolean, and parameter naming - Software development conventions - Clean code and code review practices - Safe renaming in legacy code ## Machine-readable companion - [Full agent summary](https://www.indrapatil.com/second-hardest-cs-thing/llms-full.txt)