I prefer coding standards to be logical. This is my argument for why the following set of standards are not.
I need to know one of two things: (1) why I'm wrong, or (2) how to convince my team to change them.
camelCase: Functions, class names, methods, and variables must be camelCase.
- Zor değişkenler ve sınıflar arasında ayrım yapar
- PHP'nin küçük harfe karşı Goes / vurguladı değişkenler / fonksiyonları ve UpperCamelCase sınıfları
Örnek:
$customerServiceBillingInstance = new customerServiceBillingInstance(); // theirs
$customer_service_billing_instance = new CustomerServiceBillingInstance();
Functions/methods must always return a value (and returned values must always be stored).
Bu bizim php sayfaları yüzlerce görünür:
$equipmentList = new equipmentList();
$success = $equipmentList->loadFromDatabase(true, '');
$success = $equipmentList->setCustomerList();
$success = $equipmentList->setServerList();
$success = $equipmentList->setObjectList();
$success = $equipmentList->setOwnerList();
$success = $equipmentList->setAccessList();
Dönüş değeri nadiren kullanılan ancak her zaman saklanır. Bu kopyalama ve yapıştırma kullanımını teşvik etmektedir.
No static methods
Aşağıdaki gibi bir Hatları kod temeli binlerce kez görünür:
$equipmentList = new equipmentList();
$success = $equipmentList->loadFromDatabase();
Ben tercih ederim:
$equipmentList = equipmentList::load();
Statik yöntemleri veya özellikleri kullanmak değil ne var sebebi nedir? Non-örnek özgü mantığı sorumlu statik yöntemleri değildir? Yeni bir örneğini başlatılıyor veya doldurmamak gibi?
Your code is not OOP unless everything returns an object
, Bir sorgu gerçekleştirir o hataları için çeşitli yollar denetler ve ardından çıkan dizi işleyen kod parçası var. Bu (kopyalanan + yapıştırılan) birkaç kez tekrarladı, bu yüzden taban sınıfta konur. Sonra bir dizi dönen cepten değil söylendi.
How do you defend these practices? I really do need to know. I feel like I'm taking crazy pills.
If you can't defend them, nasıl onlar değiştirilmesi gereken kararlıydı yazarı ikna edersiniz?