# Kodu Önemsemelisiniz

İyi programcıların iyi kod yazdığını anlamak için Sherlock Holmes'a gerek yok. Kötü programcılar... yapma. Geri kalanımızın temizlemesi gereken canavarlıklar üretiyorlar. İyi şeyler yazmak istiyorsun, değil mi? İyi bir programcı olmak istiyorsun.

İyi kod birdenbire ortaya çıkmaz. Gezegenler hizalandığında şans eseri olan bir şey değil. İyi kod almak için üzerinde çalışmanız gerekir. Zordur ve yalnızca iyi kodu gerçekten önemsiyorsanız iyi kod alırsınız.

İyi programlama sadece teknik yeterlilikten doğmaz. Yoğun ve etkileyici algoritmalar üretebilen, dil standartlarını ezbere bilen, ancak en korkunç kodu yazan son derece entelektüel programcılar gördüm. Okuması acı verici, kullanması acı verici ve değiştirmesi acı verici. Çok basit kodlara bağlı kalan, ancak birlikte çalışmaktan zevk alan zarif ve etkileyici programlar yazan daha mütevazı programcılar gördüm.

Yazılım fabrikasında uzun yıllara dayanan deneyimime dayanarak, yeterli programcılar ile harika programcılar arasındaki gerçek farkın şu olduğu sonucuna vardım: *tutum*. İyi programlama, profesyonel bir yaklaşım benimsemekte ve yazılım fabrikasının Gerçek Dünya kısıtlamaları ve baskıları dahilinde yapabileceğiniz en iyi yazılımı yazmayı istemekte yatar.

*Cehennemin şifresi iyi niyetlerle döşenmiştir.* Mükemmel bir programcı olmak için iyi niyetlerin üzerine çıkmanız ve aslında kodu *önemsemeniz* gerekir, olumlu bakış açıları geliştirmeniz ve sağlıklı tutumlar geliştirmeniz gerekir. Büyük kod, usta zanaatkarlar tarafından özenle hazırlanır, özensiz programcılar tarafından düşüncesizce hacklenmez veya kendi kendini kanıtlamış kodlama guruları tarafından gizemli bir şekilde dikilmez.

İyi kod yazmak istiyorsunuz. İyi bir programcı olmak istiyorsun. Yani, kodu önemsiyorsun:

* Herhangi bir kodlama durumunda, yalnızca işe yarıyor gibi görünen bir şeyi hacklemeyi reddediyorsunuz. Açıkça doğru olan (ve bunun doğru olduğunu gösteren iyi testleri olan) zarif bir kod oluşturmaya çalışıyorsunuz.
* *Keşfedilebilir* (diğer programcıların kolayca alıp anlayabileceği), yani *sürdürülebilir* (sizin veya diğer programcıların gelecekte kolayca değiştirebilecekleri) kod yazarsınız ve bu doğrudur ( sorunu çözdüğünü belirlemek için mümkün olan tüm adımları atarsın, sadece programın çalışıyor gibi görünmesini sağlamakla kalmazsın).
* Diğer programcılarla birlikte iyi çalışıyorsunuz. Hiçbir programcı bir ada değildir. Birkaç programcı tek başına çalışır; çoğu şirket ortamında veya açık kaynaklı bir projede programcılardan oluşan bir ekipte çalışır. Diğer programcıları düşünür ve başkalarının okuyabileceği kodlar oluşturursunuz. Kendinizi zeki göstermek yerine ekibin mümkün olan en iyi yazılımı yazmasını istiyorsunuz.
* Bir kod parçasına her dokunduğunuzda, onu bulduğunuzdan daha iyi bırakmaya çalışırsınız (ya daha iyi yapılandırılmış, daha iyi test edilmiş, daha anlaşılır...).
* Kodlamaya ve programlamaya önem veriyorsunuz, dolayısıyla sürekli yeni diller, deyimler ve teknikler öğreniyorsunuz. Ancak bunları yalnızca uygun olduğunda uygularsınız.

Neyse ki, bu tavsiye koleksiyonunu okuyorsunuz çünkü koda önem veriyorsunuz. Seni ilgilendiriyor. Bu senin tutkun. İyi programlamalar. Zor problemleri çözmek için kod kesmenin tadını çıkarın. Sizi gururlandıran yazılımlar üretin.

[Pete Goodliffe](http://programmer.97things.oreilly.com/wiki/index.php/Pete_Goodliffe) Tarafından


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
