Unverified Kaydet (Commit) 63c476ca authored tarafından Ali GOREN's avatar Ali GOREN Kaydeden (comit) GitHub

Merge pull request #11 from ook0/master

Avoid conditionals çevirildi
...@@ -719,28 +719,21 @@ if (domYaratildi(node)) { ...@@ -719,28 +719,21 @@ if (domYaratildi(node)) {
``` ```
**[⬆ en başa dön](#içindekiler)** **[⬆ en başa dön](#içindekiler)**
### Avoid conditionals ### Koşullardan Kaçının
This seems like an impossible task. Upon first hearing this, most people say, Bu imkansız bir iş gibi güzüküyor. Çoğu insan bunu ilk duyduğu ana kadar, " `if` ifadesi olmadan nasıl bir şey yapabilirim? " diyor. Bunun cevabı, birçok durumda aynı işi yapmak için polymorphism kullanabilirsiniz. Genellikle ikinci soru, "iyi güzel ama neden bunu yapmayı isteyeyim ki?" Bunun cevabı ise öğrendiğimiz önceki temiz kod konsepti olan: bir fonksiyon yalnızca bir şey yapmalıdır. `if` ifadesine sahip olan sınıflarınız ve fonksiyonlarınız olduğunda, kullanıcılarınıza fonksiyonunuzun birden fazla şey yaptığını söylüyorsunuz. Hatırla, sadece bir şey yap.
"how am I supposed to do anything without an `if` statement?" The answer is that
you can use polymorphism to achieve the same task in many cases. The second
question is usually, "well that's great but why would I want to do that?" The
answer is a previous clean code concept we learned: a function should only do
one thing. When you have classes and functions that have `if` statements, you
are telling your user that your function does more than one thing. Remember,
just do one thing.
**Kötü:** **Kötü:**
```javascript ```javascript
class Airplane { class Ucak {
// ... // ...
getCruisingAltitude() { seyirYuksekliginiGetir() {
switch (this.type) { switch (this.type) {
case '777': case '777':
return this.getMaxAltitude() - this.getPassengerCount(); return this.maxYuksekligiGetir() - this.yolcuSayisiniGetir();
case 'Air Force One': case 'Air Force One':
return this.getMaxAltitude(); return this.maxYuksekligiGetir();
case 'Cessna': case 'Cessna':
return this.getMaxAltitude() - this.getFuelExpenditure(); return this.maxYuksekligiGetir() - this.yakitHarcamasiniGetir();
} }
} }
} }
...@@ -748,28 +741,28 @@ class Airplane { ...@@ -748,28 +741,28 @@ class Airplane {
**İyi:** **İyi:**
```javascript ```javascript
class Airplane { class Ucak {
// ... // ...
} }
class Boeing777 extends Airplane { class Boeing777 extends Ucak {
// ... // ...
getCruisingAltitude() { seyirYuksekliginiGetir() {
return this.getMaxAltitude() - this.getPassengerCount(); return this.maxYuksekligiGetir() - this.yolcuSayisiniGetir();
} }
} }
class AirForceOne extends Airplane { class AirForceOne extends Ucak {
// ... // ...
getCruisingAltitude() { seyirYuksekliginiGetir() {
return this.getMaxAltitude(); return this.maxYuksekligiGetir();
} }
} }
class Cessna extends Airplane { class Cessna extends Ucak {
// ... // ...
getCruisingAltitude() { seyirYuksekliginiGetir() {
return this.getMaxAltitude() - this.getFuelExpenditure(); return this.maxYuksekligiGetir() - this.yakitHarcamasiniGetir();
} }
} }
``` ```
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment