Tasarım işlevleri: Bilgisayar Programlarının Yapı Taşları
Fonksiyon, programlamada önemli bir yapıdır. Bilgisayarda bir mesajı iletmek için kullandığımız dilde, işlevler fiile çok benzer. Başka bir deyişle, fonksiyonlar, bir programlama dilinde bir dizi hesaplama prosedürünü ifade etmek için birincil yapılar olarak hizmet eder.
Sorunu yönetilebilir parçalara bölmek daha iyidir. Problemin daha küçük kısmını çözmek, bir fonksiyonda sakladığımız bir hesaplama prosedürü gerektirir.
Bu makale, işlevlerin tasarlanması ve düzenlenmesinde dikkate alınması gerekenleri tanıtacaktır.
İşlev, girdileri işleyen ve bir çıktıyı yapılandıran bir kod bloğudur. Bununla ilgili güzel şeylerden biri, çözümümüzü diğer sorunları çözmek için yeniden kullanabileceğimiz bir dizi alt programa ayırmasıdır.
Aslında, basit algoritmalar bir fonksiyonda saklanabilir, bazen iki veya daha fazla dallara ayrılır: soru şu ki ne zaman ve neden dolaylıya ihtiyacımız var? Bunun en belirgin nedeni kod yeniden kullanılabilirliğidir. Kod tabanımızı sürdürülebilir, yani yeniden kullanılabilir hale getirmek için bilinçli çaba sarf etmemiz gerekiyor. Bunu başarmak için, bir işlevdeki bir görevin en basit sürümünü devretmek zorundayız. Amacımız, standart kodu en aza indirmektir (birden çok yerde çok az değişiklikle veya hiç değişiklik olmadan tekrarlanan kod bölümleri), kendimizi tekrar etmemenin erdemini izliyoruz.
İşlevler, karmaşık yazılım sistemleri geliştirmek için yeterlidir. Bu teknik bazen modüler programlama olarak bilinir . Bu, tanıdığım bazı geliştiriciler tarafından C’nin zarif olarak görülmesinin nedenlerinden biri.
Modüler programlamada üç ana kavram vardır:
- Modül – bir sorunu (veya alt sorunu) çözen bağımsız bir işlevler koleksiyonu.
- Özet Adım – Bazı uygulama detaylarının belirtilmediği bir adım. Bu adım, somut işlevlerin gerçekleşebileceği yolları tanımlayabilir. Başka bir deyişle, sorunu çözmek için gerekli bir grup işlevi devreden bir kod bloğudur.
- Somut Adım – Bağımsız alt problemleri çözmek için mantığı uygulayan soyut adımın gerçekleştirilmesi.