> For the complete documentation index, see [llms.txt](https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/tr/thing_42.md).

# Yapıyı Temiz Tutun

Hiç kötü kodlama üzerine bir makalenin uzunluğu hakkında bir derleyici uyarısı listesine bakıp ve kendi kendinize düşündünüz mü: "Biliyorsunuz, bu konuda gerçekten bir şeyler yapmalıyım... ama şu anda zamanım yok?" Öte yandan, bir derlemede yeni ortaya çıkan ve onu düzelten yalnız bir uyarıya hiç baktınız mı?

Sıfırdan yeni bir projeye başladığımda hiçbir uyarı, dağınıklık, sorun yok. Ancak kod tabanı büyüdükçe, dikkat etmezsem, dağınıklık, boşluk, uyarılar ve sorunlar birikmeye başlayabilir. Çok fazla gürültü olduğunda, umursamadığım yüzlerce uyarı arasında gerçekten okumak istediğim uyarıyı bulmak çok daha zor.

Uyarıları tekrar kullanışlı hale getirmek için yapıdan gelen uyarılar için sıfır tolerans politikası kullanmaya çalışıyorum. Uyarı önemli olmasa bile, onunla ilgilenirim. Kritik değilse, ancak yine de alakalıysa, düzeltirim. Derleyici potansiyel bir boş gösterici istisnası hakkında uyarırsa, nedeni düzeltirim, sorunun üretimde asla ortaya çıkmayacağını "bilsem" bile. Gömülü belgeler (Javadoc veya benzeri), kaldırılmış veya yeniden adlandırılmış parametrelere atıfta bulunuyorsa, belgeleri temizlerim.

Gerçekten umurumda olmayan bir şeyse ve bu gerçekten önemli değilse, ekibe uyarı politikamızı değiştirip değiştiremeyeceğimizi soruyorum. Örneğin, birçok durumda bir yöntemin parametrelerini ve dönüş değerini belgelemenin herhangi bir değer eklemediğini görüyorum, bu nedenle eksiklerse bir uyarı olmamalıdır. Veya, programlama dilinin yeni bir sürümüne yükseltmek, daha önce uygun olan kodun şimdi uyarı vermesine neden olabilir. Örneğin, Java 5 generic leri tanıttığında, generic tür parametresini belirtmeyen tüm eski kodlar bir uyarı verirdi. Bu, hakkında rahatsız edilmek istemediğim bir tür uyarı (en azından henüz değil). Gerçeğe uymayan bir dizi uyarıya sahip olmak kimseye fayda sağlamaz.

Yapının her zaman temiz olduğundan emin olarak, her karşılaştığımda bir uyarının alakasız olduğuna karar vermek zorunda kalmayacağım. Bir şeyleri görmezden gelmek zihinsel iş ve yapabileceğim tüm gereksiz zihinsel çalışmalardan kurtulmam gerekiyor. Temiz bir yapıya sahip olmak, bir başkasının işimi devralmasını da kolaylaştırıyor. Uyarıları bırakırsam, bir başkasının neyin alakalı olup neyin olmadığını gözden geçirmesi gerekecek. Veya daha büyük olasılıkla, önemli olanlar da dahil olmak üzere tüm uyarıları görmezden gelin.

Yapınızdan gelen uyarılar faydalıdır. Onları fark etmeye başlamak için sadece gürültüden kurtulmanız gerekir. Büyük bir temizlik için beklemeyin. Görmek istemediğiniz bir şey göründüğünde, hemen onunla ilgilenin. Ya uyarının kaynağını düzeltin, bu uyarıyı bastırın ya da aracınızın uyarı ilkelerini düzeltin. Derlemeyi temiz tutmak yalnızca derleme hatalarından veya test hatalarından uzak tutmakla ilgili değildir: Uyarılar da kod hijyeninin önemli ve kritik bir parçasıdır.

[Johannes Brodwall](http://programmer.97things.oreilly.com/wiki/index.php/Johannes_Brodwall) Tarafından


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/tr/thing_42.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
