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ç
Ali GOREN
clean-code-javascript-tr
Commits
6f647ad2
Kaydet (Commit)
6f647ad2
authored
Ock 18, 2019
tarafından
İsa Toltar
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Concurrency to Eşzamanlılık
üst
6cd08cb2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
51 deletions
+51
-51
README.md
README.md
+51
-51
No files found.
README.md
Dosyayı görüntüle @
6f647ad2
...
...
@@ -901,41 +901,41 @@ inventoryTracker('apples', req, 'www.inventory-awesome.io');
```
**[⬆ en başa dön](#içindekiler)**
## **
Objects and Data Structures
**
###
Use getters and setters
Using getters and setters to access data on objects could be better than simply
looking for a property on an object. "Why?" you might ask. Well, here's an
unorganized list of reasons why
:
## **
Nesneler ve Veri Yapıları
**
###
Get ve Set erişimcilerini Kullanın.
Nesne üzerindeki veriye ulaşmak için erişim belirleyicilerini kullanmak ,
basitçe nesne üzerinde bir özelliği aramaktan daha iyidir.
"Neden?" diye sorabilirsin.O halde sana neden olabileceğini gösteren düzensiz bir liste
:
*
When you want to do more beyond getting an object property, you don't have
to look up and change every accessor in your codebase
.
*
Makes adding validation simple when doing a
`set`
.
*
Encapsulates the internal representation
.
*
Easy to add logging and error handling when getting and setting
.
*
You can lazy load your object's properties, let's say getting it from a
server
.
*
Bir nesnenin özelliğini elde etmenin ötesinde daha fazlasını yapmak istiyorsan,tüm koda bakıp
her erişimciyi değiştirmene gerek yok
.
*
`set`
kullandığında,doğrulama eklemesi kolaylaşır
.
*
Dahili tasarımı kapsüller
.
*
Get ve Set erişimcilerini kullandığıngda raporlama ve hata denetimi kolaylaşır
.
*
Nesne özelliklerini, sadece kullanılacağı zaman çalışmasını sağlayabilirsin,örnek olarak
onu sunucudan almak
.
**Kötü:**
```
javascript
function
makeBankAccount
()
{
function
bankaHesapOlustur
()
{
// ...
return
{
ba
lanc
e
:
0
,
ba
kiy
e
:
0
,
// ...
};
}
const
account
=
makeBankAccount
();
account
.
balanc
e
=
100
;
const
hesap
=
bankaHesapOlustur
();
hesap
.
bakiy
e
=
100
;
```
**İyi:**
```
javascript
function
makeBankAccount
()
{
//
this one is private
let
ba
lanc
e
=
0
;
function
bankaHesapOlustur
()
{
//
bu özellik gizli.
let
ba
kiy
e
=
0
;
// a "getter", made public via the returned object below
function
getBalance
()
{
...
...
@@ -1717,25 +1717,25 @@ describe('MakeMomentJSGreatAgain', () => {
```
**[⬆ en başa dön](#içindekiler)**
## **
Concurrency
**
###
Use Promises, not callbacks
Callback
s aren't clean, and they cause excessive amounts of nesting. With ES2015/ES6,
Promises are a built-in global type. Use them
!
## **
Eşzamanlılık
**
###
Callback yerine Promise kullanın
Callback
ler kusursuz değildir , ve aşırı miktarda iç içe geçmeye neden olurlar. ES2015/ES6
ile birlikte Promiseler bir yerleşik evrensel tiptir.. Onları kullan
!
**Kötü:**
```
javascript
import
{
get
}
from
'request'
;
import
{
writeFile
}
from
'fs'
;
get
(
'https://en.wikipedia.org/wiki/Robert_Cecil_Martin'
,
(
requestErr
,
response
)
=>
{
get
(
'https://en.wikipedia.org/wiki/Robert_Cecil_Martin'
,
(
istekHatasi
,
cevap
)
=>
{
if
(
requestErr
)
{
console
.
error
(
requestErr
);
console
.
error
(
istekHatasi
);
}
else
{
writeFile
(
'
article.html'
,
response
.
body
,
(
writeErr
)
=>
{
if
(
writeErr
)
{
console
.
error
(
writeErr
);
writeFile
(
'
makale.html'
,
cevap
.
body
,
(
yazmaHatasi
)
=>
{
if
(
yazmaHatasi
)
{
console
.
error
(
yazmaHatasi
);
}
else
{
console
.
log
(
'
File written
'
);
console
.
log
(
'
Dosya yazildi
'
);
}
});
}
...
...
@@ -1749,25 +1749,25 @@ import { get } from 'request';
import
{
writeFile
}
from
'fs'
;
get
(
'https://en.wikipedia.org/wiki/Robert_Cecil_Martin'
)
.
then
((
response
)
=>
{
return
writeFile
(
'
article.html'
,
response
);
.
then
((
cevap
)
=>
{
return
writeFile
(
'
makale.html'
,
cevap
);
})
.
then
(()
=>
{
console
.
log
(
'
File written
'
);
console
.
log
(
'
Dosya yazildi
'
);
})
.
catch
((
err
)
=>
{
console
.
error
(
err
);
.
catch
((
hata
)
=>
{
console
.
error
(
hata
);
});
```
**[⬆ en başa dön](#içindekiler)**
### Async/Await
are even cleaner than Promises
Promise
s are a very clean alternative to callbacks, but ES2017/ES8 brings async and await
which offer an even cleaner solution. All you need is a function that is prefixed
in an
`async`
keyword, and then you can write your logic imperatively without
a
`then`
chain of functions. Use this if you can take advantage of ES2017/ES8 features
today!
### Async/Await
,Promise'den daha temizdir.
Promise
ler Callbacklere nazaran daha temizdir, fakat ES2017/ES8 daha
temiz bir çözüm sunan async await'i getirdi. Tek ihtiyacın
`async`
önekine sahip bir fonksiyon,
ve sonrasında
`then`
li fonksiyonlar zincirini kullanmaksızın
mantığını zorunlu olarak yazabilirsin. ES2017 / ES8 özelliklerinden yararlanabiliyorsanız bunu
bugün kullanın!.
**Kötü:**
```
javascript
...
...
@@ -1775,14 +1775,14 @@ import { get } from 'request-promise';
import
{
writeFile
}
from
'fs-promise'
;
get
(
'https://en.wikipedia.org/wiki/Robert_Cecil_Martin'
)
.
then
((
response
)
=>
{
return
writeFile
(
'
article.html'
,
response
);
.
then
((
cevap
)
=>
{
return
writeFile
(
'
makale.html'
,
cevap
);
})
.
then
(()
=>
{
console
.
log
(
'
File written
'
);
console
.
log
(
'
Dosya yazildi
'
);
})
.
catch
((
err
)
=>
{
console
.
error
(
err
);
.
catch
((
hata
)
=>
{
console
.
error
(
hata
);
});
```
...
...
@@ -1792,13 +1792,13 @@ get('https://en.wikipedia.org/wiki/Robert_Cecil_Martin')
import
{
get
}
from
'request-promise'
;
import
{
writeFile
}
from
'fs-promise'
;
async
function
getCleanCodeArticle
()
{
async
function
temizKodMakalesiniAl
()
{
try
{
const
response
=
await
get
(
'https://en.wikipedia.org/wiki/Robert_Cecil_Martin'
);
await
writeFile
(
'
article.html'
,
response
);
console
.
log
(
'
File written
'
);
}
catch
(
err
)
{
console
.
error
(
err
);
const
cevap
=
await
get
(
'https://en.wikipedia.org/wiki/Robert_Cecil_Martin'
);
await
writeFile
(
'
makale.html'
,
cevap
);
console
.
log
(
'
Dosya yazildi
'
);
}
catch
(
hata
)
{
console
.
error
(
hata
);
}
}
```
...
...
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