কোডিং মানগুলি বন্ধ করে দেওয়া [বন্ধ]


35

সফ্টওয়্যার সংস্থাগুলিতে বিভিন্ন কোডিং স্ট্যান্ডার্ড প্রয়োগ করা হয়েছে যা কোড নির্ভরযোগ্যতা, বহনযোগ্যতা এবং সর্বাধিক গুরুত্বপূর্ণভাবে কোডের মধ্যে বিভিন্ন বিকাশকারীদের দ্বারা যৌথভাবে লিখিত পাঠযোগ্যতা বৃদ্ধি করার লক্ষ্য রয়েছে।

দুটি উল্লেখযোগ্য উদাহরণ হ'ল মিস্রা সি , এবং জেএসএফ প্রকল্পের জন্য তৈরি সি ++ স্ট্যান্ডার্ড ।

এগুলি সাধারণত "নীচে", "উচিত", "উচিত", "হতে পারে", ইত্যাদির অর্থ কী তা সাবধানতার সাথে নির্দিষ্ট করে দেওয়ার পরে:

উদাহরণ:

নিয়ম 50: ভাসমান পয়েন্ট ভেরিয়েবলগুলি সঠিক সাম্যতা বা বৈষম্যের জন্য পরীক্ষা করা হবে না।

যুক্তি : যেহেতু ভাসমান পয়েন্ট সংখ্যাগুলি বৃত্তাকার এবং কাটা ত্রুটির সাথে সম্পর্কিত তাই প্রত্যাশার পরেও সঠিক সাম্যতা অর্জন করা যায় না।

এই কোডিং স্ট্যান্ডার্ডগুলি সাধারণত কোডগুলিতে বিধিনিষেধ আরোপ করে যা সংকলকের দৃষ্টিকোণ থেকে আইনী হবে তবে এটি বিপজ্জনক বা অপঠনযোগ্য এবং তাই "ক্ষতিকারক" হিসাবে বিবেচিত হয়।

এবার এই গালি দেওয়া যাক!

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

অন্য কথায়, আপনাকে কোডিং মান হিসাবে নিয়মগুলি প্রবর্তন করতে হবে যা বৈধ বলে মনে হচ্ছে এবং কমিটির অন্যান্য সদস্যদের দ্বারা গ্রহণযোগ্য হওয়ার ভাল সম্ভাবনা রয়েছে। প্রকল্পগুলি শুরু হওয়ার পরে এবং কোডে অগণিত মান-ঘন্টা বিনিয়োগের পরে, আপনি এই নিয়মগুলি ব্যবহার করতে সক্ষম হবেন (উদাহরণস্বরূপ, কোনও প্রযুক্তি দ্বারা বা খুব বেশিআক্ষরিক ব্যাখ্যা) অন্যথায় সাধারণ এবং ভাল মানের কোডটিকে স্ট্যান্ডার্ডের বিরুদ্ধে হিসাবে চিহ্নিত করা flag সুতরাং এটিকে নতুন করে ডিজাইনের জন্য তাদের অবশ্যই প্রচুর প্রচেষ্টা করতে হবে, এবং নিয়মগুলি এদিক থেকে তাদের বাধা দেবে, তবে বিধিগুলি বেশ কিছু সময়ের জন্য সক্রিয় থাকায় খাঁটি গতি এই ভূমিকাগুলিকে বাঁচিয়ে রাখবে, এবং উল্লেখযোগ্য দ্বন্দ্ব রয়েছে বলে বিভিন্ন স্তরের পরিচালনার মধ্যে আগ্রহের কারণে, অন্য পরিচালকদের সম্ভবত নিয়মগুলি বাঁচিয়ে রাখা হবে (তারা তাদের ভুল স্বীকার করতে বোকামি হবে!), সুতরাং সংস্থাকে বাধা দেয়! Mwahahahahaaa!

স্কোরিং

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

ভোটাররা লুফোলগুলি কীভাবে লুকানো রয়েছে এবং বিকাশকারীদের কাছে তারা কতটা হতাশ হবে তার ভিত্তিতে উত্তর সংগ্রহ করতে উত্সাহিত হয়।

নিয়ম এবং প্রবিধান

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

4
পাইথন, রুবি, হাস্কেল, মেকফিল, এক্সএমএল ইত্যাদি এমন কয়েকটি ভাষা যা প্রচুর বাস্তব প্রকল্পে ব্যবহৃত হয় যার সি-এর মতো বাক্য গঠন নেই।
কেনেটিএম

7
এই প্রশ্নটি অফ-টপিক বলে মনে হচ্ছে কারণ এটি কোনও প্রোগ্রামিং প্রতিযোগিতা নয়।
পিটার টেলর

5
@ পিটারটেলর: সংজ্ঞাটিতে "প্রোগ্রামিং ধাঁধা" অন্তর্ভুক্ত রয়েছে যার অর্থ এই নয় যে উত্তরটি অবশ্যই সফ্টওয়্যার কোডের একটি অংশ হতে হবে। সাইটের সংজ্ঞাটিতে কোথাও এটি লেখা নেই যে এটি কেবল "প্রোগ্রামিং প্রতিযোগিতা" সম্পর্কে। সংজ্ঞাটি হ'ল: "কোড গল্ফ / প্রোগ্রামিং ধাঁধা / অন্যান্য প্রোগ্রামিং প্রতিযোগিতা বা চ্যালেঞ্জ" "
vsz

7
@ পিটারটেলর এটি আমার কাছে প্রোগ্রামিং সম্পর্কিত প্রতিযোগিতার মতো দেখাচ্ছে; পুলিশ এবং ডাকাতরা ডাকাতদের কোড না করে চ্যালেঞ্জ জানায় (এবং যদি আপনার যুক্তিটি ডাকাতরা মন্তব্য করেন তবে অবশ্যই মেটা পোস্টে মন্তব্য করতে ভুলবেন না যাতে দুটি পৃথক প্রশ্নে বিভক্ত পুলিশ এবং ডাকাতদের চ্যালেঞ্জ জানানো হয়)
জন ডিভোরাক

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

উত্তর:


40

সি / সি ++

বিধি 1: অষ্টাল ধ্রুবক ব্যবহার করা হবে না

যুক্তি: অষ্টক ধ্রুবকগুলি বিভ্রান্তির কারণ হতে পারে। উদাহরণস্বরূপ, রেখার উপরে একটি নৈমিত্তিক নজরে const int coefficients[] = {132, 521, 013, 102};
এই ঘটনাটি মিস হতে পারে যে অ্যারেতে সংখ্যার একটিতে অষ্টালে সংজ্ঞায়িত হয়।

আপনি যদি আরও খারাপ হতে চান তবে নিম্নলিখিতগুলি যুক্ত করুন:

বিধি 2: হেক্সাডেসিমাল ধ্রুবকগুলি কেবল বিট ম্যানিপুলেশন প্রসঙ্গে ব্যবহৃত হবে।

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

কীভাবে এটি অপব্যবহার করা যায়:

নিম্নলিখিত সাধারণ প্রোগ্রামটি গ্রহণ করুন যা কোনও অ্যারের প্রথম 10 উপাদান যুক্ত করবে। এই কোডটি মানসম্পন্ন হবে না।

sum = 0;
for (i = 0; i < 10; i++) 
{
    sum += array[i];
}

দ্রষ্টব্য, এটি 0প্রতি সংজ্ঞা, একটি অক্টাল ধ্রুবক। নিয়ম 1 অনুযায়ী, কোডের মাধ্যমে 0x00 হিসাবে এটি লেখার প্রয়োজন হতাশাজনক। নিয়ম 2 অনুযায়ী, আরও হতাশাব্যঞ্জক।


1
আপনি কোডিং স্ট্যান্ডার্ড সংজ্ঞাটির সাথে লিঙ্ক করতে পারেন যা বলে যে 0এটি একটি অক্টাল ধ্রুবক? আমি ধারণা করি এটি কারণ চরিত্র দিয়ে শুরু হয় 0। এটি আপনার হাইপোটিটিক্যাল পেন্টেন্টের যুক্তি আরও জোরদার করবে।
xnor


16

পাইথন

বিধি 1: সমস্ত কোড অবশ্যই -OOপতাকা ব্যবহার করে বাইট-সংকলন করা উচিত , যা বাইটকোডকে অনুকূল করে। আমরা আকার এবং দক্ষতার জন্য বাইটকোডটি অনুকূলিত করতে চাই!

বিধি 2: টেস্টগুলি অবশ্যই কোডের একই "আর্টিফ্যাক্ট" এর বিরুদ্ধে চালানো উচিত যা উত্পাদনে দেওয়া হবে। আমাদের নিরীক্ষকদের এটির প্রয়োজন।

বিবৃতি -OOঅপসারণ ব্যবহার assert। বিধি 2 এর সাথে সম্মিলিত, এটি কার্যকরভাবে assertপরীক্ষাগুলিতে বিবৃতি ব্যবহার নিষিদ্ধ করে । আনন্দ কর!


এটি ডকাস্ট্রিংগুলিও সরিয়ে দেয়, এর অর্থ আপনি আরএপিএল থেকে কিছু পান না help()এবং অনানুষ্ঠানিক আরপিএল-পরীক্ষা এখনও পরীক্ষা করে চলেছে।
কেভিন 19

নাঃ। আপনি যদি যথাযথ পরীক্ষার কাঠামো লিখেন তবে এটি unittestবা মডিউলটি ব্যবহার করবে , যা __debug__পতাকার উপর নির্ভর করে নিজস্ব দৃ as়তা প্রয়োগ করে । দস্তাবেজগুলি নিঃশব্দে চলবে না। নিনজা!
পিপ্পারি

15

এটি কোনও নোড.জেএস প্রকল্পের জন্য।

বিভাগ 3 - গতি এবং দক্ষতা মূলত হয়

বিধি 3.1: ফাইলগুলি সর্বোচ্চ 1 কেবি রাখতে হবে। এর চেয়ে বড় ফাইল পার্স করতে খুব বেশি সময় নেয়।

বিধি 3.2: 3 স্তরের গভীর থেকে ফাংশনগুলিতে বাসা বাঁধবেন না। ভি 8 ইঞ্জিন অবশ্যই অনেকগুলি ভেরিয়েবলের ট্র্যাক রাখতে হবে এবং এর মতো গভীর বন্ধকরণ এটিকে আরও কঠোরতর করে তোলে, সাধারণ ব্যাখ্যা কমিয়ে দেয়।

বিধি ৩.৩:require() রানারউন্ডগুলি এড়িয়ে চলুন ।

বিধি ৩.৩.১: যে কোনও মডিউল require()d require()এর চেয়ে বেশি গভীরতার 3 টি হওয়া উচিত নয় ডিপ require()চেইনগুলি মেমরির ব্যবহার এবং গতির দিক থেকে উভয়ই দামী।

বিধি ৩.৩.২: মূল মডিউলগুলি একক হিসাবে গণ্য হয় require(), তারা require()অভ্যন্তরীণভাবে যতবারই না তা বিবেচনা করে।

বিধি 3.3.3: বাহ্যিক মডিউলগুলি সর্বোচ্চ 2 require()টি হিসাবে গণনা করে । আমরা মূল মডিউলগুলির মতো একই প্রকারের সামর্থ্য বহন করতে পারি না তবে ধরে নিতে পারি যে মডিউল লেখকরা দক্ষ কোড লিখছেন।

বিধি 3.4: যে কোনও মূল্যে সিঙ্ক্রোনাস কল এড়িয়ে চলুন। এগুলি প্রায়শই দীর্ঘ সময় নেয় এবং পুরো ইভেন্টের লুপটি অবিরত থেকে আটকা দেয়।

কীভাবে এটি অপব্যবহার করা যায়:

বিধি 3.1 এবং 3.3 একসাথে ভাল কাজ করে না। সর্বোচ্চ 1 কেবি এবং 3 require()টি চেইনের নিচে রেখে, তারা সফল হতে কঠোর চাপ দেওয়া হবে।
বিধি 3.2 এবং 3.4 প্রায় বেমানান। 3.4 নিষিদ্ধ সিঙ্ক্রোনাস কল; ৩.২ কলব্যাকের সংখ্যা সীমাবদ্ধ করে উন্নত অ্যাসিনক্রোনাস কাজকে কঠিন করে তোলে।
বিধি ৩.৪ হ'ল, সমস্ত সততার সাথে, এমন একটি নিয়ম যা বাস্তবের জন্য অনুসরণ করা ভাল। 3.1, 3.2 এবং 3.3 সম্পূর্ণ বোগাস complete


11

জাভাস্ক্রিপ্ট (ECMAScript)

7.3.2: নিয়মিত অভিব্যক্তি আক্ষরিক

নিয়মিত অভিব্যক্তি আক্ষরিক ব্যবহার করা উচিত নয়। বিশেষত, উত্স কোডে নীচে সংজ্ঞায়িত নিয়মিতর এক্সপ্রেসন ননটার্মিনালের সাথে মিলে এমন কোনও স্ট্রিং থাকতে হবে না ।

RegularExpression     :: '/' RegularExpressionBody '/'
RegularExpressionBody :: [empty]
                         RegularExpressionBody [any-but-'/']

[খালি] খালি স্ট্রিংয়ের সাথে মেলে এবং [/ - - '/'] '/' (স্ল্যাশ, U+002F) ধারণকারীটি ব্যতীত কোনও একক-অক্ষরযুক্ত স্ট্রিংয়ের সাথে মেলে ।

যুক্তিসহ ব্যাখ্যা

নিয়মিত প্রকাশগুলি প্রায়শই পঠনযোগ্যতার কারণে নিরুৎসাহিত হয়। নিয়মিত অভিব্যক্তিটি ব্যবহার না করে traditionalতিহ্যবাহী স্ট্রিং ক্রিয়াকলাপ সহ কোড বোঝা প্রায়শই সহজ। আরও গুরুত্বপূর্ণ বিষয়, অনেকগুলি নিয়মিত এক্সপ্রেশন ইঞ্জিন সাবপার পারফরম্যান্স সরবরাহ করে। নিয়মিত প্রকাশগুলি জাভাস্ক্রিপ্টের প্রসঙ্গে সুরক্ষা সম্পর্কিত সমস্যার সাথে যুক্ত হয়েছে ।

যাইহোক, অর্গানাইজেশন ™ স্বীকার করে যে রেগুলার এক্সপ্রেশনের মাঝেমধ্যে হয় কাজের জন্য শ্রেষ্ঠ হাতিয়ার। সুতরাং, RegExpঅবজেক্টটি নিজেই নিষিদ্ধ নয়।

(ব্যাকরণের সংক্ষিপ্তসারটি এর বাক্য বাক্য নিজেই [এটি সংজ্ঞায়িত নয়) ECMAScript নির্দিষ্টকরণের সাথে মিলে যায় This অনুমানমূলক স্পেসিফিকেশনের অন্য একটি বিন্দুতে অবশ্যই এটি আরও কঠোরভাবে সংজ্ঞায়িত হবে)

্জগ

নিম্নলিখিত প্রোগ্রামটি যথাযথ নয়:

// sgn(x) is -1 if x < 0, +1 if x > 0, and 0 if x = 0.
function sgn(x) {
  return x > 0?  +1
       : x < 0?  -1
       :          0
}

উপরে বর্ণিত রেগুলারএক্সপ্রেসডি বডি ননটার্মিনালের জন্য প্রযোজনা স্পষ্ট পুনরাবৃত্তির উপর নির্ভর করে বিএনএফ-এ তালিকা প্রকাশের একটি সাধারণ উপায় দেখায়। এখানে কৌশলটি হ'ল আমি "দুর্ঘটনাবশত" খালি স্ট্রিংটিকে নিয়মিত এক্সপ্রেসনবডি হিসাবে অনুমতি দিই , যেমন //সোর্স কোডে স্ট্রিং নিষিদ্ধ। তবে যেভাবেই হোক একক-লাইন মন্তব্য দরকার? C89 এবং CSS কেবলমাত্র /* */মন্তব্যগুলি ব্লক করার সময় সমস্ত কিছু ঠিকঠাক করেছে বলে মনে হচ্ছে ।


15
এটি আসলে এর চেয়ে আরও খারাপ: কোডটিতে ব্লক-মন্তব্য থাকতে পারে না বা ফাইলের জন্য একাধিক বিভাগ অপারেটর থাকতে পারে।
ক্রোম্যাটিক্স

হ্যাঁ, আপনি ঠিক বলেছেন। আমি এটা ভাবিনি। : পি
ফায়ারফ্লাই

5

সি শার্প

12.1 প্রোগ্রামের স্থিতিকে প্রভাবিত করে এমন স্থিতিশীল পদ্ধতি নিষিদ্ধ

এটি কারণ এটি একটি স্ট্যাটিক পদ্ধতির ফলাফলগুলি নির্ভরযোগ্যভাবে পরীক্ষা করা শক্ত, বিশেষত এটির কিছু অবস্থার পরিবর্তন ঘটে।

12.2 স্ট্যাটিক পদ্ধতিগুলি অবশ্যই নির্বিচারক হতে হবে

স্থিতিশীল পদ্ধতি যদি কোনও ইনপুট নেয় এবং কোনও আউটপুট দেয় তবে প্রতিবার একই ইনপুট দিয়ে স্থির পদ্ধতিটি ডাকলে ফলাফলটি একই হওয়া উচিত।

কেন

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


4

জাভা / বসন্ত

৪.২ প্রোডাকশন কোডে প্রতিবিম্বের ব্যবহার

কারণ প্রতিবিম্ব অন্যথায় আমাদের উত্স কোডের সীমাবদ্ধ অংশগুলিকে অ্যাক্সেস করতে ব্যবহার করা যেতে পারে উত্পাদন কোডে প্রতিবিম্বের ব্যবহার কঠোরভাবে নিষিদ্ধ।

্জগ

স্প্রিং প্রযুক্তিগতভাবে এটি সমর্থন করে এমন অবজেক্টগুলি ইনস্ট্যান্টিয়েট এবং পরিচালনা করতে প্রতিবিম্বটি ব্যবহার করে। এই নিয়ম প্রয়োগ করে, সমস্ত স্প্রিং ইউটিলিটি অপসারণ করতে হবে।


3

ওয়েবসাইট এনকোডিং

666.13 ইউটিএফ -8 অবশ্যই ব্যবহার করা উচিত নয় এবং ইউটিএফ -7 দ্বারা প্রতিস্থাপন করা উচিত যুক্তি
: ইউটিএফ -7 ইউটিএফ -8 এর চেয়ে বেশি দক্ষ, বিশেষত যখন আরবী দেশগুলির ব্যবহারকারীদের টার্গেট করে আমরা করি।

কীভাবে এটি অপব্যবহার করা যায়:

এইচটিএমএল 5 বিশেষত ইউটিএফ -7 অস্বীকার করে। এর অর্থ, আধুনিক ব্রাউজারগুলি এটি সমর্থন করবে না। যদি IE 11 এর মতো ব্রাউজারে সমস্ত পরীক্ষা করা হয়, তবে দেরি না হওয়া অবধি কেউ এটিকে লক্ষ্য করবে না।


2

জাভাস্ক্রিপ্ট বিটওয়াইস অপারেটর

1.9 আপনি যদি তার বিটওয়াস অংশগুলির তুলনায় যথেষ্ট দ্রুত না হয় তবে আপনি গুণ বা বিভাগ বা মেঝে ব্যবহার করবেন না। সেগুলি যথাক্রমে বিটওয়াইজ অপারেটর <<, >> এবং by দ্বারা প্রতিস্থাপন করা হবে।
যুক্তি: বিটওয়াইজ অপারেটরগুলি আরও দক্ষ।

কীভাবে এটি অপব্যবহার করা যায়:

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


2
আমি মনে করি এটি ইতিমধ্যে সুস্পষ্ট যা x = (x<<10) + (x<<8) + (x<<5) + (x<<4) + (x<<3) + (x)প্রতিটি উপায়ে (সম্ভবত এমনকি গতিও) নিকৃষ্ট x *= 1337, এবং বিটশিফটের অঙ্কের সাথে দু'জনের অ-শক্তি দ্বারা বিভাজন প্রতিস্থাপন করা আরও খারাপ।
লিটারোসিয়াসট

@ থমাস কোওয়া আমি আমার উত্তরটি যথাযথভাবে সম্পাদনা করেছি। এটি নির্দেশ করার জন্য আপনাকে ধন্যবাদ। আমি বিটওয়াইজ অপারেটরদের কাছে নতুন।
স্টিফনচ

1

জাভাস্ক্রিপ্ট (ECMAScript)

7.3.1: সনাক্তকারী কনভেনশনসমূহ

এটি কী ধরণের সনাক্তকারী তা নির্ভর করে সনাক্তকারীদের উপর বিধিনিষেধ স্থাপন করা হয়। সনাক্তকারীগুলিকে ভেরিয়েবল , কনস্ট্যান্ট , ফাংশন এবং কনস্ট্রাক্টর প্রকারে বিভক্ত করা হয় ; 5.3 দেখুন। বিধিনিষেধগুলি নীচে দেওয়া হয়েছে।

  • পরিবর্তনশীল: প্রথম চরিত্রটি একটি ছোট হাতের অক্ষরের অক্ষর হতে হবে। উট-কেস (১.৩ দেখুন) শনাক্তকারীদের মধ্যে শব্দ পৃথক করতে ব্যবহার করা উচিত।

  • ধ্রুবক: সনাক্তকারীকে অবশ্যই বড় হাতের অক্ষর এবং আন্ডারস্কোর ('_', U+005F) থাকতে হবে। শনাক্তকারীদের শব্দের পৃথক করতে অ্যান্ডস্কোর ব্যবহার করা উচিত।

  • ফাংশন: ফাংশনগুলিকে আইডেন্টিফায়ার টাইপের মতো একই নিয়ম অনুসরণ করতে হবে ।

  • নির্মাতা: প্রথম চরিত্রটি অবশ্যই বড় হাতের অক্ষরের অক্ষর হতে হবে। উট-কেস (১.৩ দেখুন) শনাক্তকারীদের মধ্যে শব্দ পৃথক করতে ব্যবহার করা উচিত।

যুক্তিসহ ব্যাখ্যা

রক্ষণযোগ্যতার জন্য পঠনযোগ্য শনাক্তকারীর নামগুলি অত্যন্ত গুরুত্বপূর্ণ। সনাক্তকারীদের সুপরিচিত কনভেনশনগুলিতে সীমাবদ্ধ করাও বিভিন্ন কোড বেসগুলির মধ্যে স্থানান্তরকে সহজ করে দেয়। এই বিশেষ নিয়মাবলী জাভা ™ প্রোগ্রামিং ভাষা জন্য আদর্শ নিয়মাবলী অনুকরণে হয় [1]

্জগ

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


2
»ফাংশনগুলিকে আইডেন্টিফায়ার টাইপের মতো একই নিয়মগুলি অনুসরণ করা উচিত « - আপনার মানে কি » ভেরিয়েবল টাইপ » হিসাবে ?
পাওলো ইবারম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.