কেন ওয়ার্ডপ্রেস কোড এত "স্থান-খুশি"?


22

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

এই পদ্ধতির বিষয়ে আরও তথ্যের জন্য, দেখুন: https://make.wordpress.org/core/handbook/coding-standards/php/#space-usage

উদাহরণ: foreach ( (array) $foo as $bar ) { ...

আমি পূর্বাভাসের পরে, প্রথমটির পরে (এবং ফাইনালের আগে )(এবং উপরের লিঙ্কটিতে "স্পেস ব্যবহার" তে দেখানো অন্যান্য অনুরূপ স্পেস) এর পরে স্থানটি উল্লেখ করছি ।

এই শৈলীটি আমার কাছে অপ্রয়োজনীয় বলে মনে হচ্ছে - এটির জন্য আরও বেশি টাইপিং প্রয়োজন এবং (মতামত) পার্সিং কোডটি দৃশ্যত আরও জটিল করে তোলে ((/ মতামত)

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

এখানে চিত্র বর্ণনা লিখুন

এম কে সাফির প্রশ্নের উত্তরগুলি মূলত:

  1. পাঠযোগ্যতার জন্য
  2. স্থিতিশীল অবস্থা (ওরফে "এটি ঠিক এভাবেই হয়")

আমার জিজ্ঞাসা করার যুক্তিটি হ'ল আমি ব্যক্তিগতভাবে আমাদের অভ্যন্তরীণ প্রকল্পগুলিতে ডব্লিউপি কোডিং মান ("স্পেস ইউজ" সম্পর্কিত) গ্রহণ করার ক্ষেত্রে খুব বেশি মূল্য দেখতে পাই না। যাইহোক, আমি কৌতুহল করছি যদি আমি কিছু মিস করছি।

উপরোক্ত তালিকাভুক্ত দুটি ছাড়াও কি কোনও কারণ রয়েছে, নিম্নলিখিত ওয়ার্ডপ্রেসের "স্পেস ইউজ" শৈলীর জন্য কার্যকরভাবে বৈধ বা না?


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

আপনার মন্তব্যের জন্য ধন্যবাদ, @ টমজেভেল! আমি মনে করি সম্ভবত আমি আমার "প্রশ্ন" তে ভুল ধারণা তৈরি করেছি - আমি ইনডেন্টেশনের জন্য ট্যাব / স্পেস সম্পর্কে কম জিজ্ঞাসা করছি, এবং make.wordpress.org/core/handbook/coding-standards/php এ "স্পেস ইউজ" এর অধীনে উল্লিখিত নিয়মগুলি সম্পর্কে আরও জিজ্ঞাসা করছি /… । দুঃখিত আমি আরও পরিষ্কার ছিল না!
রিনোগো

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

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

1
@ রিনোগো আমি জানি, মন্তব্যগুলি কখনও কখনও কেবল মন্তব্য হয়, উত্তর হয় না :)
টম জে নওয়েল

উত্তর:


13

Resoning

সংক্রান্ত "সাদা স্থান" (কোন ব্যাপার ট্যাব বা স্পেস হলে): এটা কেবল একটি ব্যক্তিগত পছন্দ প্রকল্পের সঙ্গে আটকে আছে।

ডাব্লুপি কোডিং মানকগুলি ইমো একটি জগাখিচুড়ি এবং এড়ানো যায় - যতক্ষণ আপনি মূলটিতে অবদান রাখছেন না, যা

  • একটি ভিন্ন গল্প এবং
  • স্টাইল গাইড এছাড়াও সেখানে উপেক্ষা করা হয়।

"... তবে তা সেভাবেই হোক, তবে প্যাচগুলি যা কেবল কোড ফর্ম্যাট করে, বা কেবলমাত্র বিন্যাস কোডটি নিষিদ্ধ ঘোষণা করে ""

- @ টমজে নওয়েল মন্তব্যগুলিতে

বিকল্প

আপনি পিএসআর স্ট্যান্ডার্ডগুলি (যথা: ২) বা সিমফনি স্ট্যান্ডার্ডগুলির (বা কেবল নিজের নিজস্ব) স্টাফ দিয়ে স্টিক করা থেকে ভাল।

পারফরম্যান্স বৃদ্ধি এবং সরঞ্জামসমূহ

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

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


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

@ টমজে নওয়েল এবং অতএব শৈলী গাইডকে অকেজো রেন্ডার করেছে :) যাইহোক, দয়া করে একটি সম্পাদনা ফাইল করুন এবং এটি উত্তরে যুক্ত করুন। এটি লক্ষণীয় তথ্য।
কায়সার

আমি মনে করি আমি আমার প্রশ্নে খুব পরিষ্কার ছিলাম না - আমি ট্যাব বনাম স্পেসগুলিকে কম উল্লেখ করছি এবং Make.wordpress.org/core/handbook/coding- স্ট্যান্ডার্ডস / php/ … এ "স্পেস ব্যবহার" এর জন্য আরও উল্লেখ করছি । প্রশ্নটি পরিষ্কার করার জন্য আমি সম্পাদনা করব।
রিনোগো

1
@rinogo আমি আপনাকে প্রথমবারের মতো পেয়েছি, সুতরাং প্রথম অনুচ্ছেদটি। বিটিডব্লিউ, আমি এটিকে আরও পঠনযোগ্য হিসাবে বিবেচনা করি।
কায়সার

7

বিন্দুর পরে স্থানগুলি স্বাভাবিক থাকে যেমন $baz . '-5', এই শৈলীটি অনেকগুলি কোডিং মানগুলিতে অপারেটরদের জন্য ব্যবহৃত হয় ( y + z)।

এটি পাঠযোগ্যতার উন্নতির জন্য করা হয়, উদাহরণস্বরূপ এগুলির একটি অপরটির চেয়ে বেশি পঠনযোগ্য।

$cow.$dog.$cat.$table.$chocolate.$puddle.$iterator.$stuctureone.$stucturetwo

$cow . $dog . $cat . $table . $chocolate . $puddle . $iterator . $stuctureone . $stucturetwo

অন্যান্য "কোড" এর সাথে ঘিরে থাকলে এটি আরও স্পষ্ট হয়ে ওঠে।

প্রথম বন্ধনীর চারপাশের ফাঁকা জায়গাগুলি ( 1, 2, 3 )সম্পর্কে আমার কোনও ধারণা নেই, আমার ধারণা যুক্তিটি পাঠযোগ্যতার জন্যও।

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

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

এখানে একটি ওয়ার্ডপ্রেস ফাংশন থেকে তুলনা একটি উদাহরণ।

এখানে চিত্র বর্ণনা লিখুন

তুলনা করার জন্য আরও বড় সংস্করণ: http://i.imgur.com/nTEbV7v.jpg

আমি ডানদিকের একটিটি বিশেষত কোডের পূর্ণ পর্দার দিকে তাকানোর সময় পছন্দ করি তবে এটি ব্যক্তিগত পছন্দ।


আপনার উত্তরের জন্য ধন্যবাদ! .ব্যবধান, আমার ইন্দ্রিয় তোলে হিসাবে ., সত্যিই শুধু একটি বাইনারি অপারেটর ঠিক মত +বা -। বন্ধনী সম্পর্কে আপনার ধারণাগুলি তাদের বিষয়বস্তুগুলিকে "আলিঙ্গন" করার কারণ হ'ল আমি এই প্রশ্নটি কেন জিজ্ঞাসা করেছি। স্কয়ার বন্ধনী (ডাব্লুপি ব্যবহার করতে বলে $foo['bar']এবং $foo[ $bar ]) এর মতো এমনকি অযৌক্তিক নিয়মের সাথে এই আচরণটি হ'ল কেন আমি এই প্রশ্নটি জিজ্ঞাসা করেছি। :)
রিনোগো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.