একক আন্ডারস্কোর দিয়ে অব্যবহৃত ভেরিয়েবলের নাম দেওয়া কি খারাপ অভ্যাস?


44

প্রায়শই যখন ভাষার সিনট্যাক্সের জন্য আমাকে এমন কোনও চলকের নামকরণের প্রয়োজন হয় যা কখনই ব্যবহৃত হয় না, আমি এটির নাম দেব _

আমার মনে, এটি বিশৃঙ্খলা হ্রাস করে এবং কোডের অর্থবহ ভেরিয়েবলগুলিকে ফোকাস করতে দেয়। আমি এটিকে আপত্তিহীন বলে মনে করি যাতে এটি "দৃষ্টির বাইরে, মনের বাইরে" প্রভাব তৈরি করে।

আমি যেখানে এটি করি তার একটি সাধারণ উদাহরণ হ'ল এসকিউএল-র সাবকিউরিয়াদের নামকরণ।

SELECT *
FROM
(
    SELECT *
    FROM TableA
    JOIN TableB
        ON TableA.ColumnB = TableB.ColumnB
    WHERE [ColumnA] > 10
) _ --This name is required, but never used here
ORDER BY ColumnC

অন্য উদাহরণ হ'ল লুপ ভেরিয়েবল যা ব্যবহৃত হয় না।

array = [[] for _ in range(n)] # Defines a list of n empty lists in Python

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

আমার সহকর্মীরা একমত নন তারা বলে যে এমনকি একটি একক (বর্ণানুক্রমিক) অক্ষরের নামটিও এর চেয়ে ভাল _

আমি কি ভূল? এটি করা কি খারাপ অভ্যাস?


4
আমি মনে করি পরিবর্তনশীল নামগুলি তথ্য তত্ত্ব অনুসরণ করা উচিত, অর্থাৎ দৈর্ঘ্যটি তাদের ব্যবহারের লগের পারস্পরিক সম্ভাবনা (সাধারণ ভেরিয়েবলগুলির সংক্ষিপ্ত নাম রয়েছে)। একটি একক বর্ণানুক্রমিক চিঠি মনে হয় ভুল পথে যাওয়া।
ড্যান_ওয়াটারওয়ার্থ

2
@ উদ্যান_ওয়াটারওয়ার্থ একক বা দ্বৈত অক্ষরের ব্যবহার টেবিল এলিয়াস হিসাবে করা এসকিউএল স্ক্রিপ্টগুলিতে একটি খুব সাধারণ অভ্যাস। যেহেতু আপনাকে সাধারণত প্রচুর পরিমাণে [table].[column]শনাক্তকারী লিখতে হয় , এটি পাঠযোগ্যতা কেবলমাত্র ব্যবহার করতে সহায়তা করে [T].[column]। এটি অবশ্যই স্ক্রিপ্টের উপর নির্ভর করে। এর মতো একটি সামান্য নির্বাচন পুরোপুরি ঠিক আছে, তবে কোনও স্ক্রিপ্ট খুব বড় হলে আমি আরও বর্ণনামূলক নাম ব্যবহার করতে পারি।
কোডেক্সআর্কানিয়াম

5
আমি বরং "ডামি" ব্যবহার করতাম। এটি আমার কাছে চিৎকার করে ওঠে যে তারা সেখানে আছে কারণ ভাষার জন্য এমন একটি পরিবর্তনশীল প্রয়োজন যা এই কয়েকটি লাইনের বাইরে কোনও শব্দার্থ প্রসঙ্গ নেই। _ কোনও মানুষের কাছে ভাল পড়ে না। (আমি পার্লকে ঘৃণা করি তার একটি কারণ - আমি এটি টাইপ করতে বা এটি পড়তে পারি না)
ক্রিস চডমোর

1
পার্শ্ব দ্রষ্টব্য: আপনি যে নামকরণ করছেন সেখানে একটি উত্কৃষ্ট টেবিল রয়েছে , সাব-কোয়েরি নয়।
নিক চাম্মাস 21

2
সি # তে বর্ণ কীওয়ার্ডটির এর অর্থ নেই, এটি কেবলমাত্র একটি সাধারণ পরিবর্তনশীল ঘোষণা যেখানে প্রকারটি অনুমান করা হয়।
ফ্রান্সেস্কো ডি ভিটোরি

উত্তর:


60

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


13
+1 টি। dummyভাল হবে, joined_abভাল হবে।
blrfl

5
+1, একটি কনভেনশন রয়েছে যেখানে আমি অব্যবহৃত ভেরিয়েবলের জন্য '_' ব্যবহার করতে কাজ করি। আমি মনে করি এটি একটি ভাল সম্মেলন, তবে আমি ওপি-র ক্ষেত্রে এই উত্তরটির সাথে একমত। আদর্শভাবে কোডবেসগুলি এমনভাবে দেখতে হবে যেন সেগুলি কোনও একক ব্যক্তির দ্বারা লেখা হয়েছিল।
ড্যান_ওয়াটারওয়ার্থ

20
পাইথনের সাথে "_" একটি সুপরিচিত মান।
নীল জি

2
অন্যদিকে যদি আপনার সংস্থা কোনও পার্ল ব্যবহার করে তবে $ _ ব্যবহার করা মাঝে মাঝে অবাক করা আচরণের কারণ হতে পারে।
প্লটর

2
প্রোলোগুলিতে, একটি আন্ডারস্কোর ইঙ্গিত দেয় যে চলকটি বেনামে থাকবে এবং এর জন্য অব্যবহৃত হবে।
ইভান

44

আমি বলব যে এটি একটি গ্রহণযোগ্য অনুশীলন। এটি একটি বিরল উদাহরণ যেখানে আমি সংখ্যাগরিষ্ঠকে ভুল হিসাবে বিবেচনা করব এবং সাম্প্রতিক প্রোগ্রামিং ধারণাগুলির তাদের জ্ঞান আপডেট করার প্রয়োজন বোধ করব। অনেকগুলি ভাষায়, বিশেষত এমএল-ভিত্তিক কার্যকরী ভাষা যেমন হ্যাস্কেল এবং ওক্যামেল, এটি _"অব্যবহৃত" ভেরিয়েবল হিসাবে ব্যবহার করা অত্যন্ত সাধারণ । এমনকি লুয়া, যা এর জন্য সুস্পষ্ট ভাষা সমর্থন সরবরাহ করে না, _কনভেনশন দ্বারা স্থানধারক হিসাবে ব্যবহারকে উত্সাহ দেয় ।

বেশ কয়েকটি ভাষা (হাস্কেল, লুয়া এবং ডিআই মনে করে আমার মাথার উপরের অংশটি ছেড়ে দেয়) এমন একটি কনভেনশনও দেয় যেখানে আন্ডারস্কোর দিয়ে বেরিয়ে আসা ভেরিয়েবলগুলি "অব্যক্ত স্থানীয় ভেরিয়েবল" সম্পর্কে সংকলক সতর্কতা তৈরি করে না যা _সবচেয়ে কম অব্যবহৃত চলক নাম তৈরি করে। আপনি এর মতো কিছু ব্যবহার করতে পারেন _unusedতবে আমি আপনার সাথে একমত যে এটি কেবল বিশৃঙ্খলা তৈরি করে।


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

11
দৃrict়ভাবে বলতে গেলে, কমপক্ষে হাস্কেলে, _একটি প্যাটার্ন, কোনও চলক নয়। এটি একটি সূক্ষ্ম পার্থক্য, তবে এর অর্থ হ'ল আপনি এটির মতো কিছুতে একাধিকবার ব্যবহার করতে পারেন (x, _, _) = ..., একই ধরণের একাধিকবার বাঁধতে চেষ্টা করা একটি ত্রুটি হতে পারে।
হামার 5'12

12

পাইথন _নিশ্চিতভাবে গ্রহণযোগ্য। এটি অবশ্য gettextওরফে বিবাদ করতে পারে _()

অন্যান্য সাধারণ নিয়মাবলী হয় dummy, unused; একা বা উপসর্গ হিসাবে

কিছু কোড বিশ্লেষণ সরঞ্জামগুলি এই সম্মেলনগুলি সম্পর্কে অবগত এবং অব্যবহৃত পরিবর্তনশীল সতর্কতা জারি করবে না:


2
এছাড়াও, _পাইথনে ডামি ভেরিয়েবলের _জন্য ব্যবহার করা সর্বশেষ প্রত্যাবর্তিত মানটির সাথে সংঘর্ষ করবে । উদাহরণস্বরূপ, দোভাষীর মধ্যে, যদি আপনি 5*51 লাইনে করেন; তারপরে লাইনে 2 _এর মান হবে 25। তবে আপনি যদি সেট করে রাখেন তবে আপনি x,_ = (3,'not used')খুঁজে পাবেন যে আপনি শেষ না হওয়া মানটির পরিবর্তে _এখনই not usedরয়েছেন del _। আপনি সম্ভবত _রিয়েল কোডে সর্বশেষ ফেরত মানটির জন্য ব্যবহার করবেন না ; কিন্তু নতুন জিনিস বের করার চেষ্টা করার সময় এটি দোভাষীগুলিতে প্রায়শই সহজ।
ডাঃ জিম্বোব

4
ঠিক আছে, _সর্বশেষ প্রত্যাশিত মানটি কেবল ইন্টারেক্টিভ শেলটিতে কাজ করে।
ভের্টেক

লুয়ার ক্ষেত্রেও একই রকম। _ ব্যবহার করা হচ্ছে আদর্শ অনুশীলন
sylvanaar

11

এটি এই কোডটি যে বাস্তবে চলেছে তার উপর এটি নির্ভর _করে "" ডামি ভেরিয়েবল "/" অব্যবহৃত আউটপুট "নির্দেশ করার জন্য যদি কোনও স্বীকৃত মান হয় তবে তা সর্বদা এটির সাথে আটকে থাকুন। যদি তা না হয় তবে এটি কী এবং এটি ব্যবহার করুন।

কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ (উদাঃ হাস্কেল) এমনকি আপনার উল্লেখ করা ঠিক উদ্দেশ্যগুলির জন্য তাদের এই বাক্য গঠনতে এই 'বিশেষ' শনাক্তকারী তৈরি করে।


5

সাবধান, _ ইতিমধ্যে কয়েকটি ভাষায় একটি অন্তর্নিহিত অর্থ রয়েছে

পাইথনে:

9.6। প্রাইভেট ভেরিয়েবল এবং ক্লাস-স্থানীয় রেফারেন্স

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

পিইপি 8-তে আরও একটি উল্লেখ রয়েছে (পাইথন কোডের জন্য স্টাইল গাইড):

বর্ণনামূলক: নামকরণ শৈলী

_সিং_লিডিং_আন্ডারস্কোর: দুর্বল "অভ্যন্তরীণ ব্যবহার" সূচক। এম আমদানি * থেকে যেমন বস্তু আমদানি করে না যার নাম আন্ডারস্কোর দিয়ে শুরু হয়।

সি # তে:

এটি সাধারণত ব্যক্তিগত / অভ্যন্তরীণ বৈশিষ্ট্যযুক্ত ব্যক্তিগত ভেরিয়েবলগুলি চিহ্নিত করতে ব্যবহৃত হয়। তবে অনুশীলনটি সাধারণত এই দিনগুলিকেই তুচ্ছ করা হয়

জাভাস্ক্রিপ্টে:

আন্ডারস্কোর.জেএস নামে একটি গ্রন্থাগার রয়েছে যা আন্ডারস্কোরটিকে অ-মানক প্রোটোটাইপ এক্সটেনশনের উপসর্গ হিসাবে ব্যবহার করে।

উদাহরণ:

var object = { some:'stuff' };
var newObject = _.clone(object);

যা আমাকে আমার বক্তব্যের দিকে নিয়ে যায়। ক্লাসিক স্থানধারক ভেরিয়েবল কনভেনশনগুলির মধ্যে কী সমস্যা।

var i, j, k, l; // iterator placeholders
var x, y, z, xx, yy, zz // value placeholders
var foo, bar, bas, fixx, buzz, qux, etc... // demonstration placeholders

ইতিমধ্যে প্রচুর প্রচলিত কনভেনশন উপস্থিত থাকলে কেউ কেন এমন কাস্টম কনভেনশন ব্যবহার করেন যা কিছু ভুল ব্যাখ্যা করতে পারে?


স্কেলে: এটি ওয়াইল্ডকার্ড / স্থানধারক প্রতীক, তবে স্থানধারক হিসাবে আপনি কেবল একবার এটি উল্লেখ করতে পারেন
রেক্স কের

@RexKerr আকর্ষণীয়। আপনি চাইলে উত্তরে নির্দ্বিধায় এটিকে সম্পাদনা করুন। আমি কিন্তু আমি স্কেল সঙ্গে পরিচিত না।
ইভান প্লেইস

একটি মন্তব্য করা উচিত। যে কেউ স্কেলা ব্যবহার করছে তা জানতে পারে এবং যে কেউ স্কালাল ব্যবহার করছে না তাদের সম্ভবত কিছু না করার / না করার কারণগুলির তালিকার শীর্ষে স্কালার সামঞ্জস্যতা থাকবে না।
রেক্স কের

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

@ igorsantos07 আমি সম্পূর্ণ একমত আমার পছন্দটি হ'ল অস্থায়ী ভেরিয়েবলের জন্য একটি বর্ণনামূলক নাম দেওয়া। এই উত্তরের মূল বিষয়টি হ'ল নামকরণ সম্মেলনের জন্য আন্ডারস্কোর কেন ভাল পছন্দ নয় তা প্রদর্শন করা; এর বহুগুণে অর্থ বিদ্যমান রয়েছে।
ইভান প্লেস

2

আমি এই ধরণের জিনিসটির জন্য "ডামি" ব্যবহার করি। বা "বোকা", যদি আমি কেবল কিছু পরীক্ষা করে দেখি :) আপনার ভেরিয়েবলগুলি কী তা বর্ণনা করার জন্য নাম দিন। যদি তারা ডামি, অব্যবহৃত ভেরিয়েবল হয় তবে তাদের নাম দিন।


0

আমি এটি খারাপ অনুশীলন বলে মনে করি কারণ

  • আপনার কোডটিতে আপনার অদৃশ্য পরিবর্তনশীল হওয়া উচিত নয়। আপনি যদি মনে করেন আপনার কারণটি সম্ভবত আলোচনা করা উচিত।

  • গো ভাষা এই কীওয়ার্ডটি ব্যবহার করে এটি নির্দেশ করে যে কোনও ভেরিয়েবল কোনও ফাংশনের একাধিক রিটার্নের গন্তব্য নয়। যদি আপনার ভাষার একাধিক রিটার্ন না থাকে তবে এটির দরকার নেই। আপনার নামকরণের কনভেনশনটি আপনাকে আঘাত করবে যেদিন আপনি কোনও ভাষা একটি সাধারণ ভাষার স্বরলিপি হিসাবে ব্যবহার করে ব্যবহার করবেন।

(আমি পাইথন জানি না: আসলেই কি এই নির্মাণের প্রয়োজন?)


2
আপনি যদি এটি একাধিক রিটার্ন ফিল্টার করার জন্য ব্যবহার করেন তবে ডামি ফাংশন আর্গুমেন্টের জন্য এটি ব্যবহার করা ঠিক ফলাফল conse প্রকৃতপক্ষে, দুটির মধ্যে খুব বেশি পার্থক্য নেই: প্যাটার্ন-ম্যাচিং ফাংশনাল ভাষায়, আপনি let (a,b,_) = f(x,y,z)ঠিক পাশাপাশি লিখতে পারেন let f(x,y,_) = (g(x),h(x),g(y))বা যাই হোক না কেন। - এবং হ্যাঁ, এটি ডামি পরামিতিগুলি প্রায়শই দরকারী: কোনও ফাংশনটির একমাত্র সংজ্ঞা হিসাবে নয়, তবে বহুসামগ্রী ফাংশন বা বিকল্প প্যাটার্নের সাথে মিলে যাওয়া সংজ্ঞাযুক্ত একটি ক্ষেত্রে এটি প্রায়শই প্রাকৃতিক জিনিস।
বাম দিকের বাইরে

1
আপনার দ্বিতীয় পয়েন্টটি আপনার মূল পয়েন্টটির বিরোধিতা করে: গো তে, এর মূল অর্থ "আমার এই মানটির কোনও ব্যবহার নেই" এর সমান।
কেসি কুবল

0

এটি সিনথেটিকভাবে বৈধ হতে পারে এবং এটি কোনও মানের অংশ হিসাবে ঠিক আছে।

যা বলেছিল, এটি এমন একটি বিষয় যা আমি কাউকে কোড পর্যালোচনাতে পরিবর্তন করতে বলব। আমি এটিকে কখনও কোডিং স্ট্যান্ডার্ডের মধ্যে রাখব না এবং এটি বিদ্যমান থেকে সরিয়ে দেওয়ার চেষ্টা করব। এটি পড়তে কেবল আরও বেশি কঠিন এবং অর্থপূর্ণ নয়।


0

আমি মনে করি এটি ভুল কারণ:

1) অনেক পিক্সেল নেই বলে দেখতে এটি আরও শক্ত।

২) যদি একের বেশি থাকে তবে _আপনি কীভাবে জানবেন কোনটি? - বা যে কোনও নতুন বিকাশকারী 'বিধিগুলি অনুসরণ করেছে' এবং তাদের ব্যবহারকে চূড়ান্তভাবে স্থানীয়ভাবে রেখে দিয়েছে?

3) এটি একটি অনুশীলন যা সহায়ক নয়। একক বর্ণের পরিবর্তনশীল নামগুলি ব্যবহার করা এত পুরানো স্কুল (যেমন আমার মূল শিক্ষা!)। আমি সেগুলি দেখতে পাব ... এবং তারপরে কোড কী করে তা বলার জন্য যুক্ত মন্তব্যগুলি দেখতে পাবে এবং এটি আজকের বিশ্বে একটি খারাপ অভ্যাস। আমি যতটা সম্ভব দীর্ঘ ভেরিয়েবলের নাম ব্যবহার করি তাই প্রোগ্রামিং স্তর বা কোডের সাথে পরিচিতি নির্বিশেষে সবাই কেবল ইংরেজির মতো "এটি পড়তে" পারেন। পুরানো কোড এবং পুরানো প্রোগ্রামারগুলির সাথে (আবার, আমাকে অন্তর্ভুক্ত করে) 1 টি অক্ষরের নাম ব্যবহার করা একটি অত্যন্ত সাধারণ অনুশীলন তবে এটি ঠিক করে না।


9
"আপনি কীভাবে জানেন যে কোনটি" আপনি না : ঠিক এটিই হ'ল আপনি ভেরিয়েবলটি ব্যবহার করবেন না । সুতরাং এটি _ইতিমধ্যে বাহ্যিক স্কোপে ব্যবহার করা হয়েছে কিনা তা বিবেচ্য নয়; তারপরে একটি ছায়া গোছানো হবে (বা আপনার ভাষা এ জাতীয় ক্ষেত্রে যা কিছু করে) তবে এগুলির কোনওটিই বাস্তবে যাইহোক ব্যবহৃত হয় না।
12 '

0

নেমস্পেসের সংঘর্ষগুলি এড়াতে এবং ডিবাগিংয়ের জন্য অনুমতি দেওয়ার জন্য, চলক নামটি যদি আপনার একমাত্র সূত্র হয় তবে এটিকে "join_ab_unused" বলা ভাল।

বীরফ্লার দ্বারা অনুপ্রাণিত।


0

হ্যাঁ, এটি দুটি কারণে খারাপ অভ্যাস:

  1. একটি আন্ডারস্কোর সহ অব্যবহৃত ভেরিয়েবলের উপসর্গ করা কোনও বহুল স্বীকৃত মান নয়। এটি সম্ভবত "নির্বিঘ্নিত" উপেক্ষা করা হবে।
  2. আমি কিছু লোককে আন্ডারস্কোর সহ প্রাইভেট মেম্বার ভেরিয়েবলগুলি প্রিফিক্স করে দেখেছি এবং আপনার স্ট্যান্ডার্ড এধরণের লোকগুলিকে বিভ্রান্ত করবে ।

0

আপনি যা করার চেষ্টা করছেন তা হ'ল এসকিউএল এর একটি সুন্দর সংস্করণে কোড করা যা আপনাকে অকেজো কিছু করার জন্য নাম আবিষ্কার করতে বাধ্য করার বিষয়টি নেই।

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

তবে আপনি অন্য ভাষায় নন এবং আপনি যা করছেন তা কোনও ভাষা বর্ধনের কোনও পরিষ্কার উপায় নয়।


0

এটি ভাষার উপর নির্ভর করে। ইন জাভা , হ্যাঁ এই খারাপ হয় এবং আপনার কোড যোগ করতে একটি বিপজ্জনক প্রবণতা হতে পারে, মূলত কারণ টুলস ব্যবহারের প্রতিফলন আন্ডারস্কোর খুব ভাল হ্যান্ডেল না, যেহেতু তারা জাভা পরিবর্তনশীল নামকরণ নিয়মাবলী বাইরে আছে। ইন পাইথন , এটি খারাপ কিন্তু খারাপ হয়। ইন clojure , তার 100% ঠিক আছে, এবং আসলে, তার কথ্য: _ জায়গা হোল্ডার হিসাবে এর একটি let বিবৃতির ব্যবহার।

মনে রাখবেন যে প্রতিটি ভাষার নিজস্ব নিজস্ব বাক্য বাক্য গঠন এবং আইডিয়ামগুলির সেট রয়েছে, সুতরাং আপনাকে পরম শর্তগুলির পরিবর্তে এই আইডিয়ামগুলির ক্ষেত্রে ভাল / খারাপের মূল্যায়ন করতে হবে।


5
আমি একমত নই যে এটি পাইথনের খারাপ অভ্যাস। এটি একটি বহুল
সমঝোতা

0

এটি পার্লের ক্ষেত্রে খারাপ হবে, যা vari _ (এবং কখনও কখনও _) একটি বিশেষ ভেরিয়েবল হিসাবে ব্যবহার করে।

সাধারণভাবে, আমি কেবল এটিকে থেকে দূরে থাকব কারণ _ _ একটি ভাষা বর্ণনামূলক বলে মনে হয়। যদি আমি আপনার কোডটি দেখে থাকি তবে আমি কী ডকুমেন্টেশনে থাকি _ কী ছিল তা সন্ধান করার আগ পর্যন্ত এটি কেবল একটি ডামি। DUMMY, UM DUMMY, যাই হোক না কেন কিছুই ভুল নেই।


0

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

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