জাভা SE 8 তারিখ, উপস্থাপক জন্য একটি নতুন প্রক্রিয়া দিয়ে আসে LocalDate
, LocalTime
এবং LocalDateTime
ক্লাস সময় instants প্রতিনিধিত্ব করতে। যেমন instants নিপূণভাবে, পদ্ধতি একটি সেট দেওয়া হয়: LocalDate.plusDays(...)
, LocalDate.minusDays(...)
ইত্যাদি।
আমি সর্বদা ভেবেছিলাম যে ভাল অনুশীলন ক্রিয়াপদের নামগুলি তাদের উদ্দেশ্য বর্ণনা করার পরে পদ্ধতিগুলির নামকরণ করে, যেমন পদ্ধতিগুলি প্রকৃতপক্ষে অপারেশনগুলি কার্যকর করতে হবে, যা একটি ক্রিয়া সম্পাদন করবে something শুধু উল্লেখ করতে যদি আপনি চান শ্রেণীর বিবেচনা StringBuilder
, উদাহরণস্বরূপ, পদ্ধতি 'নাম append
, insert
, delete
...
এই কেন আমাকে এটা ঠিক লাগছে না একটি পদ্ধতি নামকরণ হয় plusDays
পরিবর্তে sumDays
, minusDays
পরিবর্তে subtractDays
। এটা আমাকে খুব বিরক্তিকর মনে হচ্ছে? আপনি কি মনে করেন?
আমি একমাত্র কারণ ভাবতে পারি যে তারিখগুলি হ'ল অপরিবর্তনীয় বস্তু, সুতরাং কল করে plusDays
আপনি আসল বস্তুতে দিন যোগ করছেন না তবে নতুন বৈশিষ্ট্য সহ একটি নতুন তৈরি করছেন, তবে এটি খুব সূক্ষ্ম।
sqrt
কেবলমাত্র একটি শব্দ যা প্রোগ্রামাররা চিনতে এবং জানতে পারে বলে আশা করা হচ্ছে। ইংলিশ শব্দটি "বর্গমূল" by তবে ইংরেজিতে যা প্রাকৃতিক তা অনুসারে জিনিসগুলির নামকরণ করা ভাল নয়। "অবৈধ" শব্দটি ধরুন, উদাহরণস্বরূপ, পুরোপুরি সূক্ষ্ম ইংরেজি শব্দ। তবে, কেউ যদি তাদের পদ্ধতির নাম রাখেন, বলুন isIllicit
আমি মনে করি প্রতিবার আমি যখন এই পদ্ধতির কলটি দেখছি তখন আমার চোখের ছোঁড়া ছিঁড়ে ফেলতে চাই। এটি কেবল ভয়ঙ্কর দেখায় এবং ধারণাটি প্রকাশ করার আরও ভাল উপায় থাকতে হবে।
sum
এই প্রসঙ্গে ভুল মনে হচ্ছে। আমি AddDays
। নেট এর পছন্দ ।
Math.addExact(1, 2)
কারণ আপনি "1 এবং 2 যোগ করুন" বলছেন। tomorrow.plusDays(2)
কারণ আপনি "আগামীকাল 2 দিন" বলছেন। যদি কোনওরকম addExact
সদস্য Integer
হত তবে তা হত 1.plusExact(2)
।
plusDays
নতুন তারিখের x সংখ্যক দিনের addDays
প্রত্যাশা প্রত্যাশা করব , যেখানে আমি আসল অবজেক্টটি পরিবর্তনের আশা করতে পারি। যদিও এটি কেবল আমি, আমি জাভার সাথে এতটা পরিচিত নই।
sqrt
যা বলা হয় বর্গমূল। এই পদ্ধতিরtakeSqrt
নামকরণটি আপনার বিধি অনুসারে বোধগম্য হতে পারে তবে এটি নামকরণ করার ফলে পদ্ধতিটি আরও পাঠযোগ্য হয় না এবং এটি আরও স্পষ্ট করে তোলে না।