You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/03-code-quality/04-ninja-code/article.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,9 +72,9 @@ Bir isim seçerken en soyut kelimeyi kullanmaya çalışın. `obj`, `data`, `val
72
72
73
73
Bir taraftan değişken isimleri hala bir şey ifade ediyor. Değişkenin içinde ne var bunu söylüyor: karakter, sayı veya başka bir şey. Fakat dışından başkası kodu anlamaya çalıştığında, şaşıracak ve aslında hiçbir bilgi olmadığını anlayacak
74
74
75
-
Gerçektende değerin tipi hata ayıklarken kolayca bulunabilir. Fakat ya anlamı? Hangi karakter veya sayıyı tutuyor? Bu sorunun cevabı anca iyi bir meditasyon ile bulunabilir!
75
+
Gerçekten de değerin tipi hata ayıklarken kolayca bulunabilir. Fakat ya anlamı? Hangi karakter veya sayıyı tutuyor? Bu sorunun cevabı anca iyi bir meditasyon ile bulunabilir!
76
76
77
-
-**...Peki artık bu değişkenlerden kalmadıysa?**Tabiki yanlarına sayı ekleyebilirsiniz: `data1, item2, elem5` gibi.
77
+
-**...Peki artık bu değişkenlerden kalmadıysa?**Tabii ki yanlarına sayı ekleyebilirsiniz: `data1, item2, elem5` gibi.
78
78
79
79
80
80
## Dikkat testi
@@ -84,7 +84,7 @@ Sadece gerçekten dikkatli programcılar kodu anlayabilmeli. Fakat bunu nasıl k
84
84
85
85
**Bunlardan biri -- benzer değişken isimleri kullanın `date` ve `data` gibi.**
86
86
87
-
Olabildiğince birbiri ile karıştırırn.
87
+
Olabildiğince birbiri ile karıştırın.
88
88
89
89
Karıştırın ki kodu okuyan kişi kolayca okuyamasın. Eğer bir yazım hatası falan varsa, uzun bir süre takılmışsan, bir çay arası versin.
90
90
@@ -98,13 +98,13 @@ Hepsinden zoru karanlık odada kara kediyi bulmak, hele bir de odada kedi yoksa.
98
98
99
99
Örneğin, fonksiyon öneklerini kullanın. Eğer bir fonksiyon ekrana çıktı veriyorsa `display_` ön eki ile başlayın. Örneğin `displayMessage`. Sonrasında başka bir fonksiyonda ekrana yine bir şey yazdırmak isterseniz bu defa `show_` kullanın. Örneğin `showName`
100
100
101
-
Bu fonksiyonlar için hiçbir farklılık olmasada sanki farklılık varmış hissi yaratın.
101
+
Bu fonksiyonlar için hiçbir farklılık olmasa da sanki farklılık varmış hissi yaratın.
102
102
103
103
Diğer ninjalarla birleşip: Eğer Ahmet ekranda yazı gösteren fonksiyona `display..` ile başlıyorsa, Mehmet `render..` ile başlasın, Mehtapta `paint..` kullansın gibi kararlar verebilirsiniz. Düşünün kod ne kadar da ilginç ve çeşitli olur.
104
104
105
105
... ve şimdi hatrick!!!
106
106
107
-
birbirinden farklı olan iki önemli fonksioyonu aynı önek ile kullanın.
107
+
birbirinden farklı olan iki önemli fonksiyonu aynı önek ile kullanın.
108
108
109
109
Örneğin, fonksiyon `printPage(page)` yazıcıyı kullansın. `printText(text)` ise ekrana yazdırsın. Diyelim ki sizin kodunuza aşina olmayan bir okur bu iki fonksiyonun birbirine yakın isimleri olduğundan karıştırabilir. `printMessage` "Mesajı nereye yazdırmaktadır? Ekrana mı yoksa yazıcıya mı?" Daha da işi çıkmaza götürmek ve ustalığınızı belli etmek için `printMessage(mesaj)` kullanabilirsiniz. Bu da mesajı yeni pencerede göstersin.
110
110
@@ -153,9 +153,9 @@ Zeki bir ninja bir yerde alttan çizgi kullanır, başka bir yerde kullanmaz. B
153
153
154
154
## Aşkınızı gösterin
155
155
156
-
Herkese varlık(entity)larınızın ne kadar mükemel olduğunu gösterin. Örneğin `harikaElement`, `guzelAlert`, `cokAkilliNinja` gibi isimlendirmeler kodunuzu okuyanları aydınlatacaktır.
156
+
Herkese varlıklarınızın (entity) ne kadar mükemmel olduğunu gösterin. Örneğin `harikaElement`, `guzelAlert`, `cokAkilliNinja` gibi isimlendirmeler kodunuzu okuyanları aydınlatacaktır.
157
157
158
-
Gerçekten de bir yandan `super...`, `harika...`, `mega...` gibi kullanmış fakat diğer yandan hiçbir detay vermemiş olursunuz. Okuyucunun bunun altında yatan anlamı bulması için bir kaç saat meditasyon yapıp hayatını sorgulaması gerekmektedir.
158
+
Gerçekten de bir yandan `super...`, `harika...`, `mega...` gibi kullanmış fakat diğer yandan hiçbir detay vermemiş olursunuz. Okuyucunun bunun altında yatan anlamı bulması için birkaç saat meditasyon yapıp hayatını sorgulaması gerekmektedir.
159
159
160
160
161
161
## Global değişkenlerin veya dıştaki değişkenlerin üzerine başka değer yazın
@@ -204,7 +204,7 @@ Her kim ki `if(checkPermission(..))` yazarsa neden çalışmadığını anlayama
204
204
## Güçlü fonksiyonlar!
205
205
206
206
```quote author="Laozi (Tao Te Ching)"
207
-
Büyük Tao heryerden akar,<br>
207
+
Büyük Tao her yerden akar,<br>
208
208
sağa ve sola.
209
209
```
210
210
@@ -217,13 +217,13 @@ Ek eylemler fonksiyonun isminde kesinlikle belirtilmesin. Gerçek bir ninja prog
217
217
218
218
**Birçok eylemi bir fonksiyona yazın ki kodun tekrardan kullanılmasını engelleyin**
219
219
220
-
Düşünün ki, diğer yazılımcı sadece email'i kontrol etmek istiyor ve ekrana çıktı vermek istemiyor. Sizin fonksiyonunuz `emailDogrula(email)` ve hem doğruluk kontrolü yapıyor hemde ekrana hata çıktısı veriyor. Bundan dolayı size bu yazılımcının soracağı bir şey olamaz. Siz zaten ikisini de yapmışsınız.
220
+
Düşünün ki, diğer yazılımcı sadece email'i kontrol etmek istiyor ve ekrana çıktı vermek istemiyor. Sizin fonksiyonunuz `emailDogrula(email)` ve hem doğruluk kontrolü yapıyor hem de ekrana hata çıktısı veriyor. Bundan dolayı size bu yazılımcının soracağı bir şey olamaz. Siz zaten ikisini de yapmışsınız.
221
221
222
222
## Özet
223
223
224
224
Yukarıda bulunan tavsiyeler gerçek kodlardan alınmıştır. Bazıları deneyimli geliştiriciler tarafından yazılmıştır. Belki de sizden bile deneyimli programcılardan ;)
225
225
226
226
227
-
- Tavsiyelerden bazılarını uygularsanız kodunuz tamamen süprizlerle dolar.
227
+
- Tavsiyelerden bazılarını uygularsanız kodunuz tamamen sürprizlerle dolar.
228
228
- Çoğunu uygularsanız, kodunuz gerçekten de sadece size ait olur. Kimse değiştiremez.
229
229
- Hepsini uygularsanız aydınlanma arayışında olan genç geliştiricilere iyi bir ders vermiş olursunuz.
0 commit comments