Java SE 8 tarihlerini, tanıştırmak için yeni bir mekanizma ile gelir LocalDate, LocalTimeve LocalDateTimezamanın anlarının temsil etmek sınıflar. : Böyle anları işlemek için yöntemler bütünüdür verilir LocalDate.plusDays(...), LocalDate.minusDays(...)böylece ve.
Her zaman iyi uygulamanın, amaçlarını tanımlayan fiillerden sonra yöntemleri isimlendirmek olduğunu düşündüm, çünkü yöntemler, aslında yapılacak işlemler, bir eylem gerçekleştirecek bir şey. Eğer böyle sınıfları dikkate duyarsanız, sadece söz StringBuilderörneğin, yöntemlerinin isimler append, insert, delete...
Bu benim için bir yöntem adlandırma doğru gelmiyor neden plusDaysyerine sumDays, minusDaysyerine subtractDays. Sadece benim çok sinir bozucu buluyorum? Ne düşünüyorsun?
Düşünebilmemin tek nedeni, tarihlerin değişmez nesneler olmasıdır, bu nedenle çağırdığınızda plusDaysorijinal nesneye günler eklemiyor, yeni özelliklerle yeni bir tane yaratıyorsunuz, ama bu çok ince.
sqrtprogramcıların tanımaları ve bilmeleri beklenen bir kelimedir. Bu arada İngilizce kelime "karekök" tir. Ancak, şeyleri İngilizce'de doğal olana göre adlandırmak iyi değildir. Örneğin, "yasadışı" kelimesini mükemmel bir şekilde ingilizce kelime olarak alın. Bununla birlikte, eğer biri kendi yöntemini seçerse isIllicit, bu yöntem çağrısına her baktığımda gözlerimi yırtmak isteyeceğimi düşünüyorum. Sadece korkunç görünüyor ve fikri ifade etmenin daha iyi bir yolu olmalı.
sumbu bağlamda yanlış geliyor. Net'i tercih ederim AddDays.
Math.addExact(1, 2)çünkü "1 ve 2 ekle" diyorsun. tomorrow.plusDays(2)çünkü "yarın artı 2 gün" diyorsun. Bir şekilde addExactüye Integerolsaydı, olurdu 1.plusExact(2).
plusDaysyeni bir tarih x gün sayısını geleceğe döndürmek addDaysbeklenirken, orijinal nesneyi değiştirmeyi bekleyebilirim. Bu sadece benim olsa, Java ile aşina olan ben değilim.
sqrtkarekökü alan bir yöntem düşünün . Bu yöntemitakeSqrtadlandırmak kuralınıza göre mantıklı görünebilir, ancak bunu adlandırmak yöntemi daha okunaklı hale getirmez ya da netleştirmez.