summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUmut Işık <umutphp@gmail.com>2019-07-08 18:14:25 +0300
committerUmut Işık <umutphp@gmail.com>2019-07-08 18:14:25 +0300
commit2fb97ddf998bb89dc6dc5b9ee79d3a759c821102 (patch)
treeb5b4e1acd7d6905a2bf1608e0d02ae3d78e8fba2
parentae3525d71c7e3c07f6e21db4bb0ca566f4d4d703 (diff)
Translate tr.md via GitLocalize
-rw-r--r--translations/tr.md38
1 files changed, 28 insertions, 10 deletions
diff --git a/translations/tr.md b/translations/tr.md
index 39dcd13..1008d9e 100644
--- a/translations/tr.md
+++ b/translations/tr.md
@@ -17,6 +17,7 @@ Programcıların faydalı bulacağı yasalar, teoriler, prensipler ve desenler.
- [Brooks Yasası](#brooks-law)
- [Conway Yasası](#conways-law)
- [Dunbar Sayısı](#dunbars-number)
+ - [Gall Yasası](#galls-law)
- [Hanlon'un Usturası](#hanlons-razor)
- [Hofstadter Yasası](#hofstadters-law)
- [Hutber Yasası](#hutbers-law)
@@ -120,6 +121,21 @@ Ek kaynaklar:
- [Conway Yasası](#conways-law)
+### Gall Yasası
+
+[Wikipedia'da Gall Yasası](https://en.m.wikipedia.org/wiki/John_Gall_(author)#Gall's_law)
+
+> Çalışan karmaşık bir sistemin her zaman işe yarayan daha basit bir sistemden evrimleştiği kesinlikle söylenebilir. Başlangıçtan itibaren karmaşık tasarlanmış bir sistemin asla çalışmayacağı ve sonradan da düzeltilemeyeceği kesindir. Çalışsan daha basit bir sistem ile başlamanız gerekir.
+> ([John Gall](https://en.m.wikipedia.org/wiki/John_Gall_(author)))
+
+Gall Yasası der ki, çok karmaşık sistemleri *tasarlamaya* çalışmak her zaman başarısızlıkla sonuçlanır. Bu tür sistemlerin ilk denemede başarılı olmaları çok nadir görülür ama genellikle basit sistemlerden evrilirler.
+
+En klasik örnek günümüzdeki internettir. Şu an çok karmaşık bir sistemdir. Aslında başlangıçta sadece akademik kurumlar arası içerik paylaşımı olarak tanımlanmıştı. Bu tanımı karşılamada çok başarılı oldu ve zamanla gelişerek bugünkü karmaşık halini aldı.
+
+Ek kaynaklar:
+
+- [KISS (Keep It Simple, Stupid)](#TODO)
+
### Hanlon'un Usturası
[Wikipedia'da Hanlon'un Usturası](https://en.wikipedia.org/wiki/Hanlon%27s_razor)
@@ -161,6 +177,7 @@ Bu yasa der ki; sistemde yapılan bir iyileştirme sistemin diğer taraflarında
> Bir teknolojinin kısa vadede oluşacak etkisini abartıp, uzun vadede oluşacak etkisini hafife alıyoruz.
> (Roy Amara)
+> (Roy Amara)
Hype Döngüsü bir teknolojinin zamanla yarattığı heyecan ve gelişiminin görsel olarak sunumudur ve Gartner tarafından ilk olarak oluşturulmuştur. En güzel anlatım aşağıdaki bir görsel ile yapılabilir:
@@ -176,6 +193,7 @@ Kısaca anlatmak gerekirse, bu döngü her yeni teknolojinin ilk zamanlarında t
> Belli sayıda kullanıcıya ulaştığında, servis sözleşmesinde ne demiş olduğunuzdan bağımsız olarak ürününüzün ya da sisteminizin bütün gözlemlenebilir davranışları artık üçüncü kişilere göre şekillenecektir.
> (Hyrum Wright)
+> (Hyrum Wright)
Hyrum Yasası göre, eğer bir API'nin *oldukça büyük sayılabilecek sayıda kullanıcısı* olduğunda, artık bütün sonuçlar ve davranışlar (API sözleşmesinde belirtilmemiş olsalar bile) kullanıcılara göre şekillenecektir. Buna bir örnek olarak bir API'nin tepki süresi olabilir. Daha kapsamlı bir örnek olarak kullanıcıların bir regex ile dönen cevap metninin içinden hatanın *tipini* ayıkladıkları bir senaryoyu düşünelim. API sözleşmesinde bu cevap metinleri ile ilgili bir şey belirtilmemiş olmasına ve kullanıcıların hata kodunu kullanmalarını belirtilmesine rağmen, cevap metnini değiştirmeniz *bazı* kullanıcıların metni kullanmalarından dolayı hata ile karşılaşmalarına sebep olacaktır.
@@ -204,7 +222,7 @@ Bu yasa ile [Hofstadter Yasası](#hofstadters-law) birleştirilirse, daha kötü
Ek kaynaklar:
-- [Hofstadter's Law](#hofstadters-law)
+- [Hofstadter Yasası](#hofstadters-law)
### Olgunlaşmamış Optimizasyon Etkisi
@@ -252,6 +270,7 @@ O yasanın farklı bir yansıması olarak şöyle düşünülebilir, eğer bir k
> Önemsiz sayılmayacak bütün soyutlamar belli ölçüde sızıntı içerir.
> ([Joel Spolsky](https://twitter.com/spolsky))
+> ([Joel Spolsky](https://twitter.com/spolsky))
Bu yasa, karmaşık sistemleri sadeleştirmek için kullandığımız soyutlamaların bazı durumlarda soyutlamanın altındaki sistemin öğelerini sorunları ile birlikte sızdırır ve bu da beklenmedik davranışlar ortaya çıkması ile sonuçlanır.
@@ -303,7 +322,7 @@ Spotify Modeli kabileler (Tribes), birlikler (Guilds) ve kısımlar (Chapter) gi
> 1. Semantik
> 2. Genel sözdizimi
> 3. Sözcük sözdizimi
-> 4. Yorumlardaki sözcük sözdizimi
+> 4. Yorumlardaki sözcük sözdizimi(Kısaca semantic için harcanan her bir saat için yorumlardaki sözcük sözdizimi için sekiz saat harcanacaktır.)
> (Kısaca semantic için harcanan her bir saat için yorumlardaki sözcük sözdizimi için sekiz saat harcanacaktır.)
[Önemsizlik Yasasında](#the-law-of-triviality) öne sürülene benzer olarak, Wadler Yasası yeni bir programlama dili tasarlanırken konunun önemi ile o konu için harcanan zaman ters orantılı olduğunu söylüyor.
@@ -335,7 +354,7 @@ Pareto Prensibi der ki, çıktıların önemli bir çoğunluğu girdilerin çok
Bu prensip aynı zamanda 80/20 Kuralı (The Law of the Vital Few and The Principle of Factor Sparsity) olarak da bilinir.
-Real-world examples:
+Gerçek dünyadan örnekler:
- 2002'de Microsoft en çok rapor edilen hataların üstten %20'sini çözünce kullanıcıların yaşadığı sorunların %80'inin çözüldüğünü gözlemlemiş ([Referans](https://www.crn.com/news/security/18821726/microsofts-ceo-80-20-rule-applies-to-bugs-not-just-features.htm)).
@@ -373,7 +392,7 @@ Bu '[SOLID](#solid)' prensiplerinin ilkidir. Bu prensip der ki her bir sistem pa
Teorik olarak, bu prensibe uygun yazılmış kodlar daha sağlam ve değiştirilmesi kolaydır. Sadece tek bir parçanın değiştirildiğine emin olunduğunda değişimi *tesk etmek* de kolay olacaktır. Önceki şifre örneğini düşünürsek, şifrenin zorluk seviyesi değiştirildiğinde sadece şifre ilgili bölümlerin etkilenecektir. Birden fazla sorumluluğu olan bir bölümde olan değişikliğin nereleri etkileceğini hesaplamak daha zordur.
-See also:
+Ek kaynaklar:
- [Nesne Tabanlı Programlama](#todo)
- [SOLID](#solid)
@@ -389,12 +408,11 @@ Bu '[SOLID](#solid)' prensiplerinin ikincisidir ve herhangi bir sistem parçası
Örneğin Markdown formatındaki belgeleri HTML formatına çeviren bir modülü düşünelim. Eğer bu modül kendisi değiştirilmeden yeni bir Markdown formatını da işlemesi sağlanacak şekilde geliştirilebiliyorsa, bu modül genişletilmeye açık demektir. Eğer sonradan değiştirilip Markdown formatı işlemesi ile ilgili geliştirme *yapılamıyorsa*, bu modül değiştirilmeye *kapalı* demektir.
-
Bu prensip nesne-tabanlı programlamaya tam uygundur. Şöyle ki, kendi nesne ve sınıflarımızı miras alınarak geliştirmeye uygun ve değiştirmeye ihtiyaç duymayacak şekilde tasarlarsak ve yazarsak nesne-tabanlı programlamaya tam uygun kod yazmış oluruz.
-See also:
+Ek kaynaklar:
-- [Object-Oriented Programming](#todo)
+- [Nesne Tabanlı Programlama](#todo)
- [SOLID](#solid)
### Liskov Yerine Geçme Prensibi
@@ -410,7 +428,7 @@ See also:
Bu prensip nesne-tabanlı programlamanın bağlı olduğu prensiplerden biridir ve geliştiricilerin kafasını karıştırmamak için sınıf hiyerarşisinin dikkatli tarasarlanması gerektiğini söyler.
-See also:
+Ek kaynaklar:
- [Nesne Tabanlı Programlama](#todo)
- [SOLID](#solid)
@@ -427,7 +445,7 @@ See also:
Bı prensip de nesne-tabanlı programlama ile direk ilişkilidir. 'interface' yapıları, sınıf hiyerarşileri ve soyut türler farklı bileşenler arası bağımlığı [en aza indirmek](#todo) için kullanılır. [Duck typing](#todo) de bu prensibi uygulamaya yardımcı olur.
-See also:
+Ek kaynaklar:
- [Nesne Tabanlı Programlama](#todo)
- [SOLID](#solid)
@@ -464,7 +482,6 @@ Ek kaynaklar:
> DRY'nin tam tersi *WET* olacaktır (Write Everything Twice (Her Şeyi İki Kez Yaz) We Enjoy Typing (Yazmayı Seviyoruz)).
->
Uygulamada, aynı bilgi parçasını iki (veya daha fazla) farklı yerde kullanıyorsanız, DRY'yi bunları tek bir tanede birleştirmek ve istediğiniz / ihtiyaç duyduğunuz yerde tekrar kullanmak için kullanabilirsiniz.
@@ -480,6 +497,7 @@ Ek kaynaklar:
> İhtiyaç duyduğunuz şeyleri her zaman ihtiyaç duyduğunuzda geliştirin, onlara ihtiyacınız olacağını düşündüğünüzde değil.
> ([Ron Jeffries](https://twitter.com/RonJeffries)) (XP eş-kurucusu and "Extreme Programming Installed" kitabının yazarı)
+> ([Ron Jeffries](https://twitter.com/RonJeffries)) (XP eş-kurucusu and "Extreme Programming Installed" kitabının yazarı)
Bu *Aşırı Programlama* (XP) ilkesi, geliştiricilerin yalnızca acil gereksinimler için gerekli olan işlevleri yerine getirmeleri gerektiğini ve daha sonra ihtiyaç duyulabilecek işlevleri uygulayarak geleceği tahmin etme girişimlerinden kaçınmalarını önerir.