র্যান্ডম 'উদ্বেগ' ফোল্ডার এবং '। কিপ' ফাইল


87

আমি রেল শিখছি

লাইন বরাবর কোথাও, আমি লক্ষ্য করেছি যে আপাতদৃষ্টিতে এলোমেলো ফোল্ডার এবং ফাইলগুলি আমার রেল অ্যাপের ডিরেক্টরিতে প্রদর্শিত হচ্ছে। কিছু ফোল্ডারে এর ভিতরে concernsএকটি ফোল্ডার থাকে .keep.keepফাইলটি খালি বলে মনে হচ্ছে। অন্যান্য ফোল্ডারে কোনও concernsফোল্ডার নেই তবে খালি .keepফাইল উপস্থিত রয়েছে।

এই ফাইল / ফোল্ডারগুলির সাথে কী চুক্তি করা হয়েছে তা কি কেউ জানেন?

উত্তর:


132

.keepফাইলগুলি 0 বাইট ফাইল যা সেখানে খালি ফোল্ডারগুলিকে সমস্ত ধরণের প্রক্রিয়া দ্বারা উপেক্ষা করা থেকে বিরত রাখতে পারে। চিন্তার কিছু.


4
দুর্দান্ত, ধন্যবাদ! তাহলে আমি কি তাদের ছেড়ে দেব? এগুলি প্রয়োজন না হলে আমি তাদের মুছতে যাচ্ছিলাম
অ্যালেক্স ভ্যালিজো

4
হ্যাঁ আপনার এগুলি চারপাশে রাখা উচিত যাতে আপনার যখন প্রয়োজন হয় তারা সেখানে থাকে। এটি আপনার সংস্করণ নিয়ন্ত্রণ সিস্টেম দ্বারা ফোল্ডারগুলি লক্ষ্য করা যায় কিনা তাও নিশ্চিত করবে।
জোশ

আমি তাদের আমার রাখা উচিত .gitignore? আমি বরং খালি ফাইল প্রতিশ্রুতিবদ্ধ না।
tbodt

7
@tbodt আমি তাদের প্রতিশ্রুতিবদ্ধ। অন্য কেউ যদি আপনার কোডবেস ক্লোন করে রাখে তবে কি হবে তা নিশ্চিত নয়।
ডিকিবয়

33

রক্ষিত ফাইলগুলি বিশেষত সহায়ক যখন আপনি গিট দিয়ে ফাঁকা ডিরেক্টরি পরিচালনা করতে চান।

মজার ঘটনা, নাম .keepবা .gitkeepঅর্থহীন। আপনি .fooএকই প্রভাবটির জন্য ফাইলটি কল করতে পারেন , এটি কেবল একটি পঠনযোগ্য কনভেনশন।

.keepফাইল সেখানে এইড Portage এক VCS থেকে অন্য, গুরুত্বপূর্ণ ডিরেক্টরি মুছে ফেলার প্রতিরোধ যখন আপনি আন-মার্জ এমন কিছু বিষয় যা ঐ ডিরেক্টরি খালি হতে কারণ হবে আছে।

উদাহরণস্বরূপ, এমন একটি স্ক্রিপ্ট বিবেচনা করুন যা cd dirগিট দ্বারা তালাবিহীন একটি ডিরেক্টরিতে চেষ্টা করার চেষ্টা করে।

এটি একটি সফ্টওয়্যার ডিজাইনের দৃষ্টান্ত যা বিকাশকারীদের যে সিদ্ধান্ত গ্রহণ করতে হবে, সরলতা অর্জন করতে হবে, তবে প্রয়োজন নমনীয়তা হারাবে না এমন সিদ্ধান্তের সংখ্যা হ্রাস করতে চায়।


6

উদ্বেগ একটি সহজ কিন্তু শক্তিশালী ধারণা। কোড পুনরায় ব্যবহারযোগ্যতার জন্য এটি বিদ্যমান। মূলত, ধারণাটি হ'ল মডেলগুলি পরিষ্কার করতে এবং সেগুলি অত্যধিক চর্বিযুক্ত এবং নিয়ন্ত্রণহীন হওয়া এড়াতে সাধারণ এবং / অথবা প্রসঙ্গের নির্দিষ্ট কোডগুলির অংশ বের করা।

আমি স্পষ্ট করে উল্লেখ করতে চাই যে নির্দিষ্ট কার্যকারিতা নয় এমন কার্যকারিতা সরবরাহ করার জন্য আপনার পরিষেবা বিষয়গুলি ব্যবহার করা উচিত। যেমন একটি প্রতিষ্ঠানের অনেক ব্যবহারকারী রয়েছে। এখন সংগঠনের প্রশাসককে এই সংস্থার জন্য সমস্ত ব্যবহারকারীর একটি সিএসভি রফতানি করতে হবে। এই কোডটি সংস্থার মডেলটিতে স্থাপন করা যেতে পারে তবে যেহেতু এটি সংস্থাটির আপত্তিটির দায়িত্ব নয়, এই কোডটি এমন একটি শ্রেণিতে স্থাপন করা উচিত যেখানে আপনি কেবল সংগঠন অবজেক্টটি পাস করেন এবং এটি সমস্ত ব্যবহারকারীর সিএসভি ফিরিয়ে দেয়।

 class Services::GenerateCsv
     def self.get_users org
         #add logic the fetch users for the org and generate the CSV and return the CSV data
     end
 end

যখনই আপনার সিএসভি প্রজন্মের প্রয়োজন হবে আপনি সেই যুক্তিটিকে উপরের শ্রেণিতে রাখতে পারেন। এই পদ্ধতির কোডটি থেকে এই বিষয়টিকে (এই ক্ষেত্রে সংস্থার মডেল) পরিষ্কার রাখা হয়েছে যা তার দায়িত্ব হওয়া উচিত নয়। একটি সাধারণ নীতি যা আমি অনুসরণ করি তা হ'ল: কোডটি যদি এটি স্ব-বস্তুটি সংশোধন করে তবে কোডটি কোনও পরিষেবা বস্তুতে সরান।

দ্রষ্টব্য: আপনার প্রশ্ন উদ্বেগ সম্পর্কিত ছিল তবে আমি কোড বেস পরিষ্কার ও পরিচালনাযোগ্য রাখার জন্য অনুসরণ করা কিছু অতিরিক্ত জিনিস যুক্ত করার কথা ভেবেছিলাম কারণ এটি সহযোগী প্রোগ্রামারদের সহায়তা করতে পারে। উপরোক্ত পদ্ধতির বিষয়টি বিতর্কযোগ্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.