yöntemindeki son ifade olmalıdır, bazen birkaç PMD kuralının birbiriyle çakıştığını, dolayısıyla tüm PMD kurallarına uygun kod yazamayacağınızı buldum. . ÖrneğinPMD kuralları çakışması: Bir yöntemde yalnızca bir çıkış noktası olmalı ve bu yöntemde
, aşağıdaki iki kural birbirleriyle dışlamak görünüyor: "null bir nesne atama kod koku nedir üstlenmeden düşünün." ve "bir yöntem yalnızca bir çıkış noktasına sahip olmalı ve bu yöntemde son deyimi olmalıdır" Aşağıdaki
benim kod örneği:
Ben get1 kullanırsanız() , Eski kuralı ihlal edeceğim ve eğer get2() kullanırsam, o zaman ikinci kuralı ihlal edeceğim. Bir yöntemin yalnızca bir çıkış noktası olması gerektiğini tercih ediyorum, ancak PMD'nin "Bir Nesneyi null olarak atama neyin bir kod kokusu olduğunu" söylemesini istemiyorum, herhangi birinin iyi bir fikri var mı? gerçi bir çıkış noktasına sopa çalışmayın
return condition > 5 ? Integer.valueof(123) : null;
Şahsen yapmak
: Çok teşekkürler :) Bu vakaların ikisinde de
Uzun bir süredir C kodu yazdığım için, bir fonksiyonun bir çıkış noktasına sahip olmasına izin verirdim.Şimdi Cevabınızdan kodu daha az okunabilir hale getireceğine katılıyorum. Kuralı devre dışı bırakmak için PMD'nin "OnlyOneReturn" seçeneğini kapatırım. – soulmachine
@soulmachine: Çöp toplama ve istisnaların karışımı gerçekten de uygun olanı değiştiriyor :) –
Çok teşekkürler: D – soulmachine