Değişir. Gerçekten 2 tür statik yöntem vardır:
- Olabilir çünkü statik olan yöntemler
- ZORUNLU olmaları nedeniyle statik olan yöntemler
Küçük ve orta büyüklükte bir kod tabanında, iki yöntemi birbirinin yerine gerçekten ele alabilirsiniz.
İlk kategoride (statik olabilir) bir yönteminiz varsa ve bunu sınıf durumuna erişmek için değiştirmeniz gerekiyorsa, statik yöntemi bir örnek yönteme dönüştürmenin mümkün olup olmadığını anlamak nispeten kolaydır.
Bununla birlikte, büyük bir kod tabanında, çok sayıda arama sitesi, statik bir yöntemi statik olmayan bir yönteme çok pahalıya dönüştürmenin mümkün olup olmadığını görmek için arama yapabilir. Çoğu zaman insanlar arama sayısını görecek ve "tamam ... Bu yöntemi değiştirmesem iyi olur, bunun yerine ihtiyacım olanı yapacak yeni bir tane yaratırım" der.
Bu, şunlardan birine neden olabilir:
- Çok fazla kod kopyası
- Yöntem bağımsız değişkenlerinin sayısında patlama
Bunların ikisi de kötü.
Bu nedenle, tavsiyem, eğer 200K LOC üzerinde bir kod tabanınız varsa, yöntemleri yalnızca statik olmaları gereken yöntemler ise statik hale getiririm.
Statik olmayandan statik olana yeniden düzenleme nispeten kolaydır (sadece bir anahtar kelime ekleyin), bu nedenle, daha sonra statik olabilen bir statik haline getirmek istiyorsanız (bir örneğin dışında işlevselliğe ihtiyaç duyduğunuzda) yapabilirsiniz. Ancak, statik olabilen bir yöntemi örnek yöntemine dönüştürmek ÇOK daha pahalıdır.
Büyük kod tabanları söz konusu olduğunda, idealojik saflıktan ziyade genişletme kolaylığı açısından hata yapmak daha iyidir.
Bu nedenle, büyük projeler için ihtiyacınız olmadıkça işleri statik hale getirmeyin. Küçük projeler için, en sevdiğiniz şeyi yapın.