Evet canım, İşlev daha küçük ve daha küçük olabilir ve iyi ya da kötü olup, kullandığınız Dile / Çerçeveye bağlıdır.
Bence çoğunlukla Ön Uç Teknolojileri üzerinde çalışıyorum, Küçük İşlevler çoğunlukla yardımcı işlevler olarak kullanılıyor, küçük filtrelerle çalışırken ve uygulamanızda aynı mantığı kullanırken bunları bir sürü gibi kullanmak zorunda kalacaksınız. Uygulamanızın çok ortak bir mantığı varsa, o zaman bir ton küçük işlev gibi olacak.
Ancak ortak bir mantığa sahip olmadığınız bir uygulamada küçük işlevler yapmak zorunda değilsiniz, ancak kodunuzu yönetmeniz ve anlamanızın kolaylaştığı bölümlere bölebilirsiniz.
Genel olarak büyük kodunuzu küçük fonksiyonlara bölmek çok iyi bir yaklaşımdır. Modern çerçevelerde ve dillerde, örneğin, buna mecbur kalacaksınız.
data => initScroll(data)
2017 JavaScript ve Typescript’te adsız bir işlevdir
getMarketSegments() {
this.marketService.getAllSegments(this.project.id)
.subscribe(data => this.segments = data, error => console.log(error.toString()));
}
Yukarıdaki kodda 3 İşlev bildirimi ve 2 işlev çağrısı görebilirsiniz. Bu, Typcript 4 ile Açısal 4'te basit bir Servis Çağrısıdır. Gereksinimleriniz olarak düşünebilirsiniz
([] 0)
([x] 1)
([x y] 2)
Yukarıdakiler clojure dilinde 3 isimsiz fonksiyondur. Language
(def hello (fn [] "Hello world"))
Yukarıdakilerden biri, clojure'da işlevsel bir bildiridir
Yani evet FONKSİYONLAR daha küçük olabilir, ancak aşağıdaki gibi işlevleriniz varsa iyi ya da kötü olsun:
incrementNumber(numb) { return ++numb; }
Peki, bunu yapmak iyi bir uygulama değil, peki ya bu işlevi Angular Framework’te yaptığımız gibi bir HTML etiketinde kullanıyorsanız, Angular HTML Şablonlarında Artırma veya Azaltma desteği olmasaydı, o zaman bunun çözümü olurdu. ben mi.
Başka bir örnek alalım
insertInArray(array, newKey) {
if (!array.includes(newKey)) {
array.push(newKey);
}
}
Yukarıdaki örnek, Angular HTML Şablonları içindeki dizilerde oynatırken bir zorunluluktur. Bu yüzden bazen küçük fonksiyonlar yaratmanız gerekebilir
Assert.AreEqual<int>(expected, actual, message, arg1, arg2, arg3, ...);
. İkincisi olduğu gibi iyidir. Potansiyel bir istisna / vb. Atılıp atılmayacağını belirten isteğe bağlı bir bool bayrağını ekleyeceğim. geri arama bir işlev değilse.