একই সাধারণ উদ্দেশ্যে একই নামে দুটি খুব আলাদা ফাইল দেওয়া কি খারাপ অভ্যাস?


18

একই সাধারণ উদ্দেশ্যে একই নামে দুটি পৃথক ফাইল দেওয়া, এটি বিভিন্ন ডিরেক্টরিতে আলাদা করে দেওয়া কি খারাপ অভ্যাস?

<script src="client_scripts/app/player_stats/generator.js"></script>
<script src="client_scripts/app/coach_settings/generator.js"></script>

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

বিকল্পভাবে, নামের সংক্ষিপ্ত দৈর্ঘ্যের ব্যয়ে, আমি এটি ব্যবহার করতে পারি:

<script src="client_scripts/app/player_stats/player_stats_generator.js"></script>
<script src="client_scripts/app/coach_settings/coach_settings_generator.js"></script>

7
দীর্ঘ নাম! :)
মার্কো

2
statsgen.js,settingsgen.js
Kroltan

1
শুকিয়ে যায়! (অর্থাত্ সংক্ষিপ্ত নাম)
পল ড্রপার

1
সাফ কোড (অর্থাত্ দীর্ঘ অর্থপূর্ণ নাম)
সানগো

উত্তর:


36

আপনার দুটি বিকল্পের ব্যয় / উপকারের অনুপাত বিবেচনা করুন:

  1. একই নামটি পুনরায় ব্যবহারের কারণে বিভ্রান্তি বা নামকরণের দ্বন্দ্ব সৃষ্টি হবে? সম্ভবত না, যেহেতু তারা বিভিন্ন ফোল্ডারে রয়েছে। "প্লেয়ার_স্ট্যাটস / জেনারেটর.জেএস" নামটি "প্লেয়ার_স্ট্যাটস_জেনেটর.জেএস" এর সমতুল্য। তবে, আপনি যদি ভবিষ্যতে দেখতে পান যে আপনার জেএস ফাইলগুলিকে একটি একক ডিরেক্টরিতে (স্থাপনা? আমি জানি না) একীভূত করার কারণ, তবে এটি অনন্য নাম দেওয়ার জন্য একটি ভাল সূচক হওয়া উচিত।

  2. দীর্ঘ নাম ব্যবহার করে বহিরাগত টাইপিং জড়িত? সম্ভবত না. আপনার জন্য প্রকল্পে কেবলমাত্র অনেক জেএস আইডিই স্বয়ংক্রিয়রূপে থাকা ফাইলের নামই নয়, এটি কোডের একটি টুকরো যা সম্ভবত কেবলমাত্র লিখিত - সর্বাধিক - একবার প্রতি ফাইলের জন্য। যে কোডটি প্রচুর টাইপ করা হয় তা হ'ল জেএস ফাইলগুলির অভ্যন্তরে শ্রেণি এবং ফাংশন এবং সেগুলি (আশাকরি) বিরোধ হয় না।

  3. ডিবাগ করার সময়, ত্রুটি সম্পর্কে আপনি কী ধরণের তথ্য পান? যদি সর্বাধিক প্রচলিত বাগ রিপোর্টটি "34-এর লাইনে ত্রুটি <filename.js>" হয় তবে তাদের অনন্য নাম দেওয়ার কথা বিবেচনা করুন, যেহেতু কেবল জেনারেটর.জেজে ত্রুটি পেয়েছে এবং তারপরে প্রসঙ্গের মাধ্যমে, কোন জেনারেটরটি ছিল তা ঝামেলা হতে পারে divine


5
ডিবাগিং জেএস সাধারণত পুরো ফাইল পাথ প্রিন্ট করে।
বার্গি

1
@ বার্গি যা ব্রাউজার (এবং সংস্করণ), আইডিই (যদি থাকে), ত্রুটি-লগিং কাঠামো ইত্যাদির উপর নির্ভর করে।
অব্নার শাহর-কাশতান

22

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

সুতরাং ... আরও বর্ণনামূলক নাম ব্যবহার করুন।


1
ফাইলগুলির একই নাম থাকলে বেশিরভাগ আধুনিক পাঠ্য সম্পাদকরা ট্যাবে পথ দেখান।
kmiyashiro

অবশ্যই, কখনও কখনও একাধিক ফাইলের একই নাম [যেমন অনেক সার্ভারে index.html] থাকা প্রয়োজন। আমি নিজেকে এমন প্রোগ্রামগুলিতে বিরক্ত মনে করি যা একটি নির্দিষ্ট ফাইলের সাথে সম্পর্কিত পথ নির্ধারণে অসুবিধা বোধ করে।
সুপারক্যাট

1
@ কিমিয়াশিরো - সম্ভবত তাই, তবে আপনার যদি অনেকগুলি ফাইল খোলা থাকে তবে ট্যাবগুলি আকার (প্রস্থ) হ্রাস করা যেতে পারে যেখানে আপনি বেশিরভাগই কেবল ফাইলের নাম দেখেন। তারপরে আপনাকে সর্বদা প্রতিটি ট্যাবে আপনার মাউসকে ঘোরাতে হবে এবং "পথচলা" ফাইলটি পুরো পথ / ফাইল প্রদর্শনের জন্য অপেক্ষা করতে হবে। আপনার যদি কেবল কয়েকটি ফাইল খোলা থাকে এবং কেবল কোনও নকল নামের বিরল ক্ষেত্রে থাকে তবে এটি সম্ভবত গ্রহণযোগ্য। তবে প্রচুর ফাইল সহ এটি খুব বিরক্তিকর হতে পারে।
কেভিন ফেগান

1
যদি আপনার কাছে এমন অনেকগুলি ট্যাব একই নামে সমস্ত খোলা থাকে, তবে আমি কোনও অনন্য নাম এমনকি ট্যাবগুলির সমুদ্রের মধ্যে এটি অনুসন্ধান করার পরিবর্তে একটি কী কমান্ড ব্যবহার করে ফাইলটিতে স্যুইচ করব।
kmiyashiro

1
আরও বর্ণনামূলক নামগুলি ব্যবহার করা বরং বিরক্তিকর হতে পারে ... আপনি যখন some_super_long_descriptor_that_needs_more_description.jsএটির থেকে আলাদা হয়ে যানsome_super_long_descriptor_that_needs_more_cowbell.js
corsiKa

12

এখানে একটি স্পষ্ট সিদ্ধান্ত নেওয়ার কারণ রয়েছে: ডিআরওয়াই (নিজেকে পুনরাবৃত্তি করবেন না)।

প্রতিটি ফাইলের নাম আলাদা হতে হবে না; এটাই পথের জন্য । আপনার কম্পিউটারে কতগুলি ভিন্ন সিস্টেম বা প্রোগ্রাম ফাইল রয়েছে তা আপনি কল্পনা করতে পারেন? যদি তাদের প্রত্যেকের একটি স্বতন্ত্র নাম থাকতে হয়? কিছু সময়ে, আমরা কেবল ফাইলের নামটিকে পথের একটি অনুলিপি তৈরি করছি।

যদি client_scripts > app > player_statsসত্যিই প্রসঙ্গে জাভাস্ক্রিপ্ট ফাইলের সেরা বর্ণনাটি হয় তবে generatorএটির পথ হওয়া উচিত client_scripts/app/player_stats/generator.js

এই প্রশ্নটি প্রোগ্রামারস.স্ট্যাকেক্সচেঞ্জ / প্রশ্ন / 250481 এ রয়েছে । রয়েছে serverfault.com/questions/ 250481250481এটি প্রোগ্রামারদের প্রশ্নের প্রসঙ্গে একটি জিনিস এবং সার্ভার ফল্ট প্রশ্নের প্রসঙ্গে অন্য কিছু।

পাথ (বা ইউআরএল) দুর্দান্ত কারণ তারা নেস্টেড আইডেন্টিফায়ার। আসুন তাদের সেভাবে ব্যবহার করুন :)


7

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

ভাল নামগুলি পরে রিফ্যাক্টর সময় বা পরে আরও খারাপ ত্রুটি পরে সংরক্ষণ করে save

ক্লিন কোড এবং কোড কমপ্লিট বইগুলি ভাল নামকরণের হায় এবং এর কারণ হিসাবে যথেষ্ট বিশদে যায় তবে এগুলি কেবলমাত্র একমাত্র উত্স নয়।


এই উত্তরটি এই বিশেষ উদাহরণে ভালভাবে প্রযোজ্য বলে মনে হচ্ছে, তবে এটি সাধারণ প্রশ্নের সমাধান করে না।
পল ড্রপার

3

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

নেমস্পেসগুলি হ'ল একটি দুর্দান্ত ধারণা - আসুন আমরা তাদের আরও কিছু করি!

তবে জাভাস্ক্রিপ্টটিতে এগুলি কৌতুক ও অনুভূতি রয়েছে তাই আমি আপনাকে বিভিন্ন নাম দিয়ে যাওয়ার পরামর্শ দিই (ফাইলগুলি বিভিন্ন উপায়ে থাকলেও)। এছাড়াও আপনি জাভাস্ক্রিপ্টে মডিউল প্যাটার্ন সন্ধান করতে পারেন যা আপনাকে ক্লিনার কোড লিখতে সহায়তা করতে পারে:

    var playerStatsGenerator = player_stats.Generator();
    var coachSettingsGenerator = coach_settings.Generator();

আপনি আপনার কেক রাখতে এবং এটি খেতে পারে।

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