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
a5072f0f
Unverified
Kaydet (Commit)
a5072f0f
authored
Ock 19, 2019
tarafından
Mert Can Bilgiç
Kaydeden (comit)
GitHub
Ock 19, 2019
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Sınıflar bir miktar çevrildi
Sınıflar kısmında sadece son başlık kaldı
üst
84cdcbad
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
41 deletions
+41
-41
README.md
README.md
+41
-41
No files found.
README.md
Dosyayı görüntüle @
a5072f0f
...
...
@@ -991,11 +991,11 @@ console.log(`Calisanin ismi: ${calisan.getIsim()}`); // Calisanin ismi: John Doe
## **Sınıflar**
###
Prefer ES2015/ES6 classes over ES5 plain functions
It's very difficult to get readable class inheritance, construction, and method
definitions for classical ES5 classes. If you need inheritance (and be aware
that you might not), then prefer ES2015/ES6 classes. However, prefer small functions over
classes until you find yourself needing larger and more complex objects
.
###
Yalın ES5 fonksiyonları yerine ES2015/ES6 sınıflarını tercih edin
Klasik ES5 sınıfları için okunabilir sınıf kalıtımları, construction ve metod tanımlarını
almak çok zordur. Eğer kalıtıma ihtiyacınız varsa (ihtiyacınızın olmayabileceğinin farkında olun),
o zaman ES2015/ES6 sınıflarını tercih edin. Ancak, daha büyük ve karmaşık nesnelerle uğraşana
kadar sınıflar yerine küçük fonksiyonları kullanın
.
**Kötü:**
```
javascript
...
...
@@ -1067,81 +1067,81 @@ class Human extends Mammal {
**[⬆ en başa dön](#içindekiler)**
###
Use method chaining
This pattern is very useful in JavaScript and you see it in many libraries such
as jQuery and Lodash. It allows your code to be expressive, and less verbose
.
For that reason, I say, use method chaining and take a look at how clean your code
will be. In your class functions, simply return
`this`
at the end of every functio
n,
and you can chain further class methods onto it
.
###
Metod zincirleme yöntemini kullanın
Bu yöntem JavaScript'te çok kullanışlıdır ve bunu jQuery ve Lodash gibi birçok kütüphanede görebilirsiniz.
Kodunuzun daha anlamlı ve daha az detaylı olmasını sağlar
.
Bu nedenle, metod zincirleme yöntemini bir kez kullanın ve kodunuzun ne kadar temiz olacağına bir göz atın derim.
Sınıf fonksiyonlarında basitçe her fonksiyon sonunda
`this`
döndürü
n,
böylece daha fazla sınıf metodu zincirleyebilirsiniz
.
**Kötü:**
```
javascript
class
Car
{
constructor
(
ma
ke
,
model
,
color
)
{
this
.
ma
ke
=
make
;
class
Araba
{
constructor
(
ma
rka
,
model
,
renk
)
{
this
.
ma
rka
=
marka
;
this
.
model
=
model
;
this
.
color
=
color
;
this
.
renk
=
renk
;
}
setMa
ke
(
make
)
{
this
.
ma
ke
=
make
;
setMa
rka
(
marka
)
{
this
.
ma
rka
=
marka
;
}
setModel
(
model
)
{
this
.
model
=
model
;
}
set
Color
(
color
)
{
this
.
color
=
color
;
set
Renk
(
renk
)
{
this
.
renk
=
renk
;
}
save
()
{
console
.
log
(
this
.
ma
ke
,
this
.
model
,
this
.
color
);
kaydet
()
{
console
.
log
(
this
.
ma
rka
,
this
.
model
,
this
.
renk
);
}
}
const
car
=
new
Car
(
'Ford'
,
'F-150'
,
'red
'
);
car
.
setColor
(
'pink
'
);
car
.
save
();
const
araba
=
new
Araba
(
'Ford'
,
'F-150'
,
'kirmizi
'
);
araba
.
setRenk
(
'pembe
'
);
araba
.
kaydet
();
```
**İyi:**
```
javascript
class
Car
{
constructor
(
ma
ke
,
model
,
color
)
{
this
.
ma
ke
=
make
;
class
Araba
{
constructor
(
ma
rka
,
model
,
renk
)
{
this
.
ma
rka
=
marka
;
this
.
model
=
model
;
this
.
color
=
color
;
this
.
renk
=
renk
;
}
setMa
ke
(
make
)
{
this
.
ma
ke
=
make
;
// NOT
E: Returning this for chaining
setMa
rka
(
marka
)
{
this
.
ma
rka
=
marka
;
// NOT
: Zincirleme için 'this' döndürülüyor
return
this
;
}
setModel
(
model
)
{
this
.
model
=
model
;
// NOT
E: Returning this for chaining
// NOT
: Zincirleme için 'this' döndürülüyor
return
this
;
}
set
Color
(
color
)
{
this
.
color
=
color
;
// NOT
E: Returning this for chaining
set
Renk
(
renk
)
{
this
.
renk
=
renk
;
// NOT
: Zincirleme için 'this' döndürülüyor
return
this
;
}
save
()
{
console
.
log
(
this
.
ma
ke
,
this
.
model
,
this
.
color
);
// NOT
E: Returning this for chaining
kaydet
()
{
console
.
log
(
this
.
ma
rka
,
this
.
model
,
this
.
renk
);
// NOT
: Zincirleme için 'this' döndürülüyor
return
this
;
}
}
const
car
=
new
Car
(
'Ford'
,
'F-150'
,
'red
'
)
.
set
Color
(
'pink
'
)
.
save
();
const
araba
=
new
Araba
(
'Ford'
,
'F-150'
,
'kirmizi
'
)
.
set
Renk
(
'pembe
'
)
.
kaydet
();
```
**[⬆ 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