আমি কেবল ইডিটিকের ইলাস্টিক ট্যাবস্টপগুলি প্রয়োগের চেষ্টা করেছি, যা আমি পরিচিত প্রোগ্রামিং ভাষাগুলির সাথে আশ্চর্যরূপে ভালভাবে কাজ করে (মূলত এইচটিএমএল / এক্সএমএল এবং সি-জাতীয় ভাষাগুলি)। পাইথন কোড সহ তবে এটি এখানে কীভাবে রেন্ডার করা হয়েছে (কীভাবে জিনিসগুলি প্রান্তিক করে তোলে তা বোঝানোর জন্য ট্যাবগুলির স্থানে ব্যবহৃত স্পেস):
def foo(x):
'''<1 tab before the docstring.
No tab <tab
No tab <tab
<tab <another tab
<tab <another tab
<tab'''
if 1 or 2: #<Tab before this comment
yield True
পাইথনের মতো ভাষার জন্য যা ব্যবধানের উপর নির্ভর করে, যদি আপনি স্থিতিস্থাপক ট্যাবস্টপগুলির সরবরাহিত কার্যকারিতাটি অক্ষম না করেন তবে এটি একটি চুক্তি-ব্রেকার। ভিম এবং ইম্যাকস এর মতো সম্পাদকরা যদি বিকল্পটির নাম এবং কীভাবে এটি নিষ্ক্রিয় করতে হয় তা জানেন তবে বেশিরভাগ ধরণের কার্যকারিতা অক্ষম করা সহজ করে তোলে, তবে এই কার্যকারিতাটি উপরের মতো কোডের জন্য অক্ষম করা দরকার।
বলা হচ্ছে, এটি x86 এএসএম, সি, সি ++, গো, এক্সএমএল, এইচটিএমএল এবং অন্যান্যদের জন্য দুর্দান্ত যেগুলি এতটা সাদা জায়গার উপর নির্ভর করে না:
import (
"fmt" // We love formatting functions.
"io" // Because I/O is useful.
"os" // Can't open a file without os.Open!
)
type Foo struct {
Field1 int // This is properly aligned
ReallyLongField2 string // with this.
privateField io.Reader // Elastic tabstops are great for Go.
}
আমি বলব যে স্কিমের মতো লিস্প উপভাষাগুলির নিজস্ব কনভেনশন রয়েছে যা ইলাস্টিক ট্যাবস্টপগুলিকে "কুশ্রী" কোড রেন্ডার করে। যদি আমি 2 টি কলামের কনভেনশনটির সাথে মেলে আমার ট্যাবস্টপ সেটিংস পরিবর্তন করি এবং অস্বাভাবিক স্থানে ট্যাবস্টপগুলি aোকাতে (একটি ফাংশন এবং তার তর্কগুলির মধ্যে):
(let loop ((n 1))
(if (> n 10)
'()
(cons n
(loop (+ n 1)))))
বনাম আরও পাঠযোগ্য:
(let loop ((n 1))
(if (> n 10)
'()
(cons n
(loop (+ n 1)))))
মঞ্জুর, এটি পাইথনের উদাহরণের মতো খারাপ নয়, তবে এটি অবশ্যই কোডটির পঠনযোগ্যতা হ্রাস করে। আমি যখন সি # বা সি ++ এর মতো কোনও কোডিং করার সময় কার্যকারিতাটি খুব উপভোগ করি তবে পাইথন বা স্কিমের মতো ভাষায় কোডিং করার সময় আমি কার্যকারিতাটিকে ঘৃণা করি যেখানে হোয়াইটস্পেস কার্যক্ষম এবং / অথবা দৃষ্টি সহায়ক ually ইলাস্টিক ট্যাবস্টপগুলি পৃথক ইনডেন্টেশন ইউটিলিটির প্রয়োজন ছাড়াই বিশেষত সহায়ক হওয়ার জন্য তৈরি করা হয়েছিল, তবে স্পষ্টতই এটি সমস্ত প্রোগ্রামিং ভাষার জন্য নয়।