Benim işlevi kodu, başka bir kaynak dosyasına bölünmüş olmalıdır?

4 Cevap php

Ben sadece kendimi kopyalama ve iki kez aynı kodu yapıştırarak bulundu.

Sağ şimdi ben iki kaynak dosyaları arasında paylaşmak istediğiniz bir işlevi var. Bu iki kaynak dosyalarından aynı değişkenleri geçecek. Ben "kendimi tekrar" etmek istemiyorsanız, bu eylem iyi ders olurdu? Iki dosya ayrıdır diğer işlevleri varsa bu da kaynak dosyada olduğu gibi kütüphane dosyasında bulunması veya gerekir? Bir sınıf uygun olup olmadığını nasıl karar veriyorsunuz? Ayrı bölme şeyleri başlatmak için zaman nasıl belirliyorsunuz?

4 Cevap

Kendinizi tekrarlamayın. Paylaşılan fonksiyonu ile bir içerme dosyası oluşturun.

Bir Nesne tabanlı analiz ve tasarım kitabı okumalısınız. Bu soru OO ilkeleri üzeresiniz.

HF: OOA&D: Benim düşünceme göre sizin daha iyi bir seçenek gibi bir kitap alıyor. Onu readed ve TÜM senin sorulara cevap.

2 dosya bazı kod tekrarı ise, bir fonksiyonun içinde bu kodu almak ve 2 dosya tr kullanmak gerekir.

Bir sınıf sadece bir responsabilityinin, bir yarar kodu ise o zaman, örneğin, doğru yerde o işlevi koymak zorunda olduğunu unutmayın, bir yarar modül koymak olamaz.

Ne zaman bir sınıf uygun olanı nedir? Eğer problemin kullanım durumları hakkında bazı etki anaylisis yapmak zorunda ve programın aday sınıfları isimler bakıyor.

Olduğunu belirlemek için nasıl? Sen codding önce sorunun bazı analiz ve tasarım yapmak zorunda.

Kısacası, ben tek ihtiyacınız, sana o kitap tavsiye: PP

Yukarıdaki cevap ile katılıyorum - (haha tekrarlanan başkasının cevap sahip ironi!) Tekrar etmeyin.

Fonksiyonları vs sınıfları ile ilgili, ben kesin bir cevap olduğunu söyleyemem.

Ben bazen hız uğruna OO işlevselliği vazgeçmeli argümanlar duydum, ama ben bu nowdays bilgisayarların hızı ile küçük konularda düşünüyorum. Şahsen her zaman en kısa sürede app / site çok küçük daha büyük bir şey almaya başlar sınıfları tercih. Örneğin, bir sayfada belirli bir sonuç elde etmek için iki işlevi birlikte kullanabilirsiniz. O tekrar kullanımı o zaman) yine hem aramak veya b) 2 diğer aramak için bir üçüncü işlevi yazmak zorunda anlamına gelir. Bu durumda bir sınıf daha çekici görünmeye başlar

Classes are easily testable esp with mocking frameworks. Classes also make it easy to serialize an object holding a lot of data

Bir süre önce, ben kopyalama / yapıştırma kodu ile ilgili bir makale (I Korku Kodlama inanmak, ama yanılıyorsam beni düzeltin) okuyun. Temelde, bir kopyasını kullanarak eğer / kodunuzda çok yapıştırmak, gerçekten değil, sadece daha optimize hale kodunuzu basitleştirmek için izin beri iyi bir uygulama, ama aynı zamanda bunu yapma fonksiyonu, içine alma düşünmelisiniz diğer geliştiriciler ile birlikte takip etmek daha kolay.