খালি স্ট্রিংটি তত ভাল না পরীক্ষা করার জন্য আমি প্রতিবার হার্ডকোডিং (sic) পেয়েছি।
পরিষ্কার কোড পদ্ধতির
এটি করা: foo == ""
খুব খারাপ অনুশীলন। ""
একটি icalন্দ্রজালিক মান। আপনার যাদুকরী মানগুলির বিরুদ্ধে কখনও পরীক্ষা করা উচিত নয় ( যাদুকরী সংখ্যা হিসাবে বেশি পরিচিত )
আপনার যা করা উচিত তা বর্ণনামূলক পরিবর্তনশীল নামের সাথে তুলনা করা।
বর্ণনামূলক পরিবর্তনশীল নাম
কেউ ভাবতে পারেন যে "খালি_ স্ট্রিং" একটি বর্ণনামূলক পরিবর্তনশীল নাম। এটা না ।
আপনি যেতে আগে এবং না empty_string = ""
এবং ভাবার সাথে তুলনা করার জন্য দুর্দান্ত পরিবর্তনশীল নাম রয়েছে। "বর্ণনামূলক পরিবর্তনশীল নাম" এর অর্থ এটি নয়।
একটি ভাল বর্ণনামূলক পরিবর্তনশীল নাম এর প্রসঙ্গে ভিত্তি করে। খালি স্ট্রিংটি কী তা আপনাকে ভাবতে হবে ।
- যেখানে এটি থেকে আসে.
- কেন সেখানে আছে।
- আপনার এটি পরীক্ষা করার দরকার নেই কেন।
সাধারণ ফর্ম ফিল্ড উদাহরণ
আপনি এমন একটি ফর্ম তৈরি করছেন যেখানে কোনও ব্যবহারকারী মান লিখতে পারে। ব্যবহারকারী কিছু লিখেছে কিনা তা আপনি পরীক্ষা করতে চান।
একটি ভাল পরিবর্তনশীল নাম হতে পারে not_filled_in
এটি কোডটিকে খুব পঠনযোগ্য করে তোলে
if formfields.name == not_filled_in:
raise ValueError("We need your name")
পুরো CSV বিশ্লেষণ উদাহরণ
আপনি সিএসভি ফাইলগুলি বিশ্লেষণ করছেন এবং খালি স্ট্রিংটিকে পার্স করতে চান None
(যেহেতু সিএসভি সম্পূর্ণ পাঠ্য ভিত্তিক, তাই এটি উপস্থাপন করতে পারে না None
এটি পূর্বনির্ধারিত কীওয়ার্ড ব্যবহার )
একটি ভাল পরিবর্তনশীল নাম হতে পারে CSV_NONE
এটি কোড পরিবর্তন এবং মানিয়ে নিতে সহজ করে তোলে আপনার যদি নতুন সিএসভি ফাইল থাকে যা এর None
চেয়ে অন্য স্ট্রিংয়ের সাথে প্রতিনিধিত্ব করে""
if csvfield == CSV_NONE:
csvfield = None
এই কোডটির এই অংশটি সঠিক কিনা তা নিয়ে কোনও প্রশ্ন নেই। এটি বেশ পরিষ্কার যে এটি যা করা উচিত তা করে।
এর সাথে তুলনা করুন
if csvfield == EMPTY_STRING:
csvfield = None
এখানে প্রথম প্রশ্নটি হল, খালি স্ট্রিং কেন বিশেষ চিকিত্সার জন্য প্রাপ্য?
এটি ভবিষ্যতের কোডারদের বলবে যে একটি খালি স্ট্রিং সর্বদা হিসাবে বিবেচনা করা উচিত None
।
এর কারণ এটি ব্যবসায়ের যুক্তি মিশ্রিত করে (সিএসভি মানটি কী হওয়া উচিত) None
কোড প্রয়োগের সাথে ) এর সাথে আমরা আসলে কী তুলনা করছি)
একটা করা প্রয়োজন উদ্বেগের বিচ্ছেদ দুই মধ্যে।
""
ভাল না?