Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
clean-code-javascript-tr
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Ömer SAVAŞ
clean-code-javascript-tr
Commits
39ac87cf
Kaydet (Commit)
39ac87cf
authored
Ock 19, 2019
tarafından
Ali GOREN
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Kodlar Türkçeleştirildi
üst
8f7b2c53
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
57 additions
and
59 deletions
+57
-59
README.md
README.md
+57
-59
No files found.
README.md
Dosyayı görüntüle @
39ac87cf
...
@@ -783,27 +783,26 @@ class Cessna extends Airplane {
...
@@ -783,27 +783,26 @@ class Cessna extends Airplane {
```
```
**[⬆ en başa dön](#içindekiler)**
**[⬆ en başa dön](#içindekiler)**
### Avoid type-checking (part 1)
### Tip Kontrolünden Kaçının (Bölüm 1)
JavaScript is untyped, which means your functions can take any type of argument.
JavaScript tip güvensiz bir dildir, yani fonksiyonlarınız herhangi bir tipte argüman alabilir.
Sometimes you are bitten by this freedom and it becomes tempting to do
Bazen bu özgürlük can yakıcı olabiliyor haliyle fonksiyonlarınızda tip kontrolü yapmak cazip hale gelebiliyor. Bundan kaçınmanın birçok yolu var.
type-checking in your functions. There are many ways to avoid having to do this.
Dikkate alınması gereken ilk şey tutarlı API'lar yazmanız.
The first thing to consider is consistent APIs.
**Kötü:**
**Kötü:**
```
javascript
```
javascript
function
travelToTexas
(
vehicle
)
{
function
nigdeyeZiyaret
(
arac
)
{
if
(
vehicle
instanceof
Bicycle
)
{
if
(
arac
instanceof
Bisiklet
)
{
vehicle
.
pedal
(
this
.
currentLocation
,
new
Location
(
'texas
'
));
arac
.
pedaliCevir
(
this
.
mevcutLokasyon
,
new
Lokasyon
(
'nigde
'
));
}
else
if
(
vehicle
instanceof
Car
)
{
}
else
if
(
arac
instanceof
Araba
)
{
vehicle
.
drive
(
this
.
currentLocation
,
new
Location
(
'texas
'
));
arac
.
sur
(
this
.
mevcutLokasyon
,
new
Lokasyon
(
'nigde
'
));
}
}
}
}
```
```
**İyi:**
**İyi:**
```
javascript
```
javascript
function
travelToTexas
(
vehicle
)
{
function
nigdeyeZiyaret
(
arac
)
{
vehicle
.
move
(
this
.
currentLocation
,
new
Location
(
'texas
'
));
arac
.
hareketEt
(
this
.
mevcutLokasyon
,
new
Lokasyon
(
'nigde
'
));
}
}
```
```
**[⬆ en başa dön](#içindekiler)**
**[⬆ en başa dön](#içindekiler)**
...
@@ -864,34 +863,33 @@ for (let i = 0; i < list.length; i++) {
...
@@ -864,34 +863,33 @@ for (let i = 0; i < list.length; i++) {
```
```
**[⬆ en başa dön](#içindekiler)**
**[⬆ en başa dön](#içindekiler)**
### Remove dead code
### Ölü Kodları Silin
Dead code is just as bad as duplicate code. There's no reason to keep it in
Ölü kod da tekrarlı kodlar kadar kötüdür. Kodlarınızda ölü kod saklamanız için herhangi bir neden yoktur.
your codebase. If it's not being called, get rid of it! It will still be safe
Eğer herhangi bir yerde çağrılmıyorlarsa onlardan kurtulun. İhtiyacınız olduğunda, versiyon kontrol sisteminde bulabilirsiniz.
in your version history if you still need it.
**Kötü:**
**Kötü:**
```
javascript
```
javascript
function
oldRequestModule
(
url
)
{
function
eskiHttpRequestModulu
(
url
)
{
// ...
// ...
}
}
function
newRequestModule
(
url
)
{
function
yeniHttpRequestModulu
(
url
)
{
// ...
// ...
}
}
const
req
=
newRequestModule
;
const
istek
=
yeniHttpRequestModulu
;
inventoryTracker
(
'apples'
,
req
,
'www.inventory-awesome.io
'
);
envanterTakibi
(
'elmalar'
,
istek
,
'www.envantertakibi.com
'
);
```
```
**İyi:**
**İyi:**
```
javascript
```
javascript
function
newRequestModule
(
url
)
{
function
yeniHttpRequestModulu
(
url
)
{
// ...
// ...
}
}
const
req
=
newRequestModule
;
const
istek
=
yeniHttpRequestModulu
;
inventoryTracker
(
'apples'
,
req
,
'www.inventory-awesome.io
'
);
envanterTakibi
(
'elmalar'
,
istek
,
'www.envantertakibi.com
'
);
```
```
**[⬆ en başa dön](#içindekiler)**
**[⬆ en başa dön](#içindekiler)**
...
@@ -1924,80 +1922,80 @@ yukarıdan aşağıya doğru okuruz. Bu nedenle, kodunuzun bu yolda okunabilmesi
...
@@ -1924,80 +1922,80 @@ yukarıdan aşağıya doğru okuruz. Bu nedenle, kodunuzun bu yolda okunabilmesi
**Kötü:**
**Kötü:**
```
javascript
```
javascript
class
Performan
ceReview
{
class
Performan
sDegerlendirmesi
{
constructor
(
employee
)
{
constructor
(
calisan
)
{
this
.
employee
=
employee
;
this
.
calisan
=
calisan
;
}
}
lookupPeers
()
{
benzerleriniGetir
()
{
return
db
.
lookup
(
this
.
employee
,
'peers
'
);
return
db
.
lookup
(
this
.
calisan
,
'benzer
'
);
}
}
lookupManage
r
()
{
mudurleriGeti
r
()
{
return
db
.
lookup
(
this
.
employee
,
'manage
r'
);
return
db
.
lookup
(
this
.
calisan
,
'mudu
r'
);
}
}
getPeerReviews
()
{
benzerDegerlendirmeler
()
{
const
peers
=
this
.
lookupPeers
();
const
benzerler
=
this
.
benzerleriniGetir
();
// ...
// ...
}
}
perf
Review
()
{
perf
ormansDegerlendirmesi
()
{
this
.
getPeerReviews
();
this
.
benzerDegerlendirmeler
();
this
.
getManagerReview
();
this
.
mudurDegerlendirmeleri
();
this
.
getSelfReview
();
this
.
kendiDegerlendirmeleriGetir
();
}
}
getManagerReview
()
{
mudurDegerlendirmeleri
()
{
const
m
anager
=
this
.
lookupManage
r
();
const
m
udur
=
this
.
mudurleriGeti
r
();
}
}
getSelfReview
()
{
kendiDegerlendirmeleriGetir
()
{
// ...
// ...
}
}
}
}
const
review
=
new
PerformanceReview
(
employee
);
const
deegrlendirme
=
new
PerformansDegerlendirmesi
(
calisan
);
review
.
perfReview
();
deegrlendirme
.
performansDegerlendirmesi
();
```
```
**İyi:**
**İyi:**
```
javascript
```
javascript
class
Performan
ceReview
{
class
Performan
sDegerlendirmesi
{
constructor
(
employee
)
{
constructor
(
calisan
)
{
this
.
employee
=
employee
;
this
.
calisan
=
calisan
;
}
}
perf
Review
()
{
perf
ormansDegerlendirmesi
()
{
this
.
getPeerReviews
();
this
.
benzerDegerlendirmeler
();
this
.
getManagerReview
();
this
.
mudurDegerlendirmeleri
();
this
.
getSelfReview
();
this
.
kendiDegerlendirmeleriGetir
();
}
}
getPeerReviews
()
{
benzerDegerlendirmeler
()
{
const
peers
=
this
.
lookupPeers
();
const
benzer
=
this
.
benzerleriniGetir
();
// ...
// ...
}
}
lookupPeers
()
{
benzerleriniGetir
()
{
return
db
.
lookup
(
this
.
employee
,
'peers
'
);
return
db
.
lookup
(
this
.
calisan
,
'benzer
'
);
}
}
getManagerReview
()
{
mudurDegerlendirmeleri
()
{
const
m
anager
=
this
.
lookupManage
r
();
const
m
udur
=
this
.
mudurleriGeti
r
();
}
}
lookupManage
r
()
{
mudurleriGeti
r
()
{
return
db
.
lookup
(
this
.
employee
,
'manage
r'
);
return
db
.
lookup
(
this
.
calisan
,
'mudu
r'
);
}
}
getSelfReview
()
{
kendiDegerlendirmeleriGetir
()
{
// ...
// ...
}
}
}
}
const
review
=
new
PerformanceReview
(
employee
);
const
degerlendirme
=
new
PerformansDegerlendirmesi
(
calisan
);
review
.
perfReview
();
degerlendirme
.
performansDegerlendirmesi
();
```
```
**[⬆ en başa dön](#içindekiler)**
**[⬆ en başa dön](#içindekiler)**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment