আমি একটি এক্সএমএল পাঠ্য সম্পাদক লিখেছি যা একই এক্সএমএল পাঠ্যের জন্য 2 টি দর্শন বিকল্প সরবরাহ করে, একটি ইন্ডেন্টেড (কার্যত), অন্যটি বাম-ন্যায়সঙ্গত। বাম-ন্যায়সঙ্গত দর্শনের অনুপ্রেরণা হ'ল ব্যবহারকারীরা সাদা পঠন অক্ষরগুলি ইন্ডেন্টেশন থেকে হস্তক্ষেপ ছাড়াই প্লেইন-টেক্সট বা এক্সপ্যাথ কোডটি ইন্ডেন্টেশনের জন্য ব্যবহার করছেন এমন শ্বেতস্পেস অক্ষরগুলি 'দেখতে' সহায়তা করে যা এক্সএমএল প্রসঙ্গে একটি স্বয়ংক্রিয় পার্শ্ব-প্রতিক্রিয়া।
বাম-ন্যায়সঙ্গত মোডের জন্য ভিজ্যুয়াল ক্লুগুলি (সম্পাদকের অ-সম্পাদনযোগ্য অংশে) সরবরাহ করতে চাই যা ব্যবহারকারীকে সহায়তা করবে, তবে খুব বেশি বিস্তৃত না হয়ে।
আমি কেবল সংযোগকারী লাইনগুলি ব্যবহার করার চেষ্টা করেছি, তবে এটি খুব ব্যস্ত মনে হয়েছিল। আমি এখন পর্যন্ত যে সেরাটি নিয়ে এসেছি তা নীচের সম্পাদকের একটি উপহাসের স্ক্রিনশটে দেখানো হয়েছে, তবে আমি আরও ভাল / সরল বিকল্পগুলি খুঁজছি (যাতে খুব বেশি কোডের প্রয়োজন হয় না)।
[সম্পাদনা]
হিটম্যাপ ধারণাটি গ্রহণ করা (থেকে: @ জিম্প) আমি এই এবং 3 টি বিকল্প পেয়েছি - এ, বি এবং সি লেবেলযুক্ত:
নিম্নলিখিত বিভাগটি গ্রহণযোগ্য উত্তরটিকে প্রস্তাব হিসাবে বর্ণনা করে অন্যান্য বেশ কয়েকটি উত্তর এবং মন্তব্য থেকে ধারণা নিয়ে আসে। যেহেতু এই প্রশ্নটি এখন সম্প্রদায় উইকি, তাই দয়া করে এটি আপডেট করুন feel
NestView
এই ধারণার নাম যা ইন্ডেন্টেশন ব্যবহার না করে নেস্টেড কোডের পাঠযোগ্যতা উন্নত করার জন্য একটি ভিজ্যুয়াল পদ্ধতি সরবরাহ করে।
সীমারেখা
নেস্টভিউয়ের মধ্যে বিভিন্ন শেডযুক্ত রেখার নাম
উপরের চিত্রটি কোনও এক্সএমএল স্নিপেটটি কল্পনা করতে সহায়তা করতে ব্যবহৃত নেস্টভিউ দেখায়। যদিও এক্সএমএল এই চিত্রের জন্য ব্যবহৃত হয়, অন্য কোনও কোড সিনট্যাক্স যা নীড় ব্যবহার করে তা এই দৃষ্টান্তটির জন্য ব্যবহার করা যেতে পারে।
একটি পর্যালোচনা:
কনট্যুর লাইনগুলি শেড করা হয় (হিটম্যাপের মতো) নীড় বাঁধার স্তর জানাতে
কোনও নেস্টিং স্তরটি খোলা বা বন্ধ হয়ে যাওয়ার সময় কনট্যুর লাইনগুলি কোণঠাসা করা হয়।
একটি কনট্যুর লাইন নীড়ের স্তরটির সূচনাটিকে শেষের সাথে যুক্ত করে।
কনট্যুর লাইনগুলির সম্মিলিত প্রস্থ হিটম্যাপ ছাড়াও বাসা বাঁধার স্তরের একটি চাক্ষুষ ধারণা দেয়।
নেস্টভিউয়ের প্রস্থটি ম্যানুয়ালি পুনরায় আকার পরিবর্তন করতে পারে তবে কোড পরিবর্তনের সাথে সাথে এটি পরিবর্তন করা উচিত নয়। কনট্যুর লাইনগুলি সংকুচিত বা ছাঁটাই করা যেতে পারে এটি এড়াতে।
খালি রেখাগুলি মাঝে মাঝে আরও ডাইজেস্টেবল অংশগুলিতে টুকরো টুকরো করার জন্য কোড ব্যবহৃত হয়। এই জাতীয় লাইন নেস্টভিউতে বিশেষ আচরণ শুরু করতে পারে। উদাহরণস্বরূপ হিটম্যাপটি পুনরায় সেট করা যেতে পারে বা পটভূমির রঙের কনট্যুর লাইন ব্যবহার করা যেতে পারে, বা উভয়ই।
বর্তমানে নির্বাচিত কোডের সাথে যুক্ত এক বা একাধিক কনট্যুর লাইন হাইলাইট করা যেতে পারে। নির্বাচিত কোড স্তরের সাথে সম্পর্কিত কনট্যুর লাইনটি সর্বাধিক জোর দেওয়া হবে, তবে অন্যান্য কনট্যুর লাইনগুলি নীড়যুক্ত গোষ্ঠীটি হাইলাইট করতে সহায়তা করার পাশাপাশি 'আলোকপাত' করতে পারে
বিভিন্ন আচরণ (যেমন কোড ভাঁজ বা কোড নির্বাচন) একটি কনট্যুর লাইনে ক্লিক / ডাবল-ক্লিকের সাথে যুক্ত হতে পারে।
কনট্যুর লাইনের বিভিন্ন অংশের (নেতৃস্থানীয়, মাঝারি বা পিছনের প্রান্ত) বিভিন্ন গতিশীল আচরণ থাকতে পারে।
কনট্যুর লাইনের উপর দিয়ে মাউস হোভার ইভেন্টে টুলটিপস প্রদর্শিত হতে পারে
কোড সম্পাদিত হওয়ার সাথে সাথে নেস্টভিউ ধারাবাহিকভাবে আপডেট হয়। বাসা বাঁধাই ভালভাবে সুষম নয় এমন অনুমান করা যেতে পারে যেখানে নীড়ের স্তরটি শেষ হওয়া উচিত, তবে সম্পর্কিত অস্থায়ী কনট্যুর লাইনগুলি অবশ্যই একটি সতর্কতা হিসাবে হাইলাইট করা উচিত।
কনট্যুর লাইনের ড্রাগ এবং ড্রপ আচরণগুলি সমর্থন করা যেতে পারে। কনট্যুর লাইনটি টেনে আনার অংশ অনুসারে আচরণে ভিন্নতা থাকতে পারে।
বাম মার্জিনে সাধারণত বৈশিষ্ট্যগুলি পাওয়া যায় যেমন ত্রুটিগুলির জন্য লাইন নম্বর এবং রঙ হাইলাইটিং এবং পরিবর্তনের অবস্থার ফলে নেস্টভিউতে ওভারলে যায়।
অতিরিক্ত কার্যকারিতা
প্রস্তাবটি অতিরিক্ত সমস্যার বিস্তৃত অংশকে সম্বোধন করে - অনেকগুলি মূল প্রশ্নের ক্ষেত্রের বাইরে, তবে একটি কার্যকর পার্শ্ব-প্রতিক্রিয়া।
কোনও নেস্টেড অঞ্চলের শুরু এবং শেষের সাথে দৃশ্যত লিঙ্ক করা
কনট্যুর লাইনগুলি প্রতিটি নেস্টেড স্তরের শুরু এবং শেষকে সংযুক্ত করে
বর্তমানে নির্বাচিত লাইনের প্রসঙ্গটি হাইলাইট করা
কোডটি নির্বাচিত হওয়ার সাথে সাথে নেস্টভিউতে সম্পর্কিত নীড়-স্তরটি হাইলাইট করা যেতে পারে
একই নেস্টিং স্তরে কোড অঞ্চলগুলির মধ্যে পার্থক্য
এক্সএমএল এর ক্ষেত্রে বিভিন্ন নাম স্থানের জন্য বিভিন্ন বর্ণচিহ্ন ব্যবহার করা যেতে পারে। প্রোগ্রামিং ভাষা (যেমন সি #) নামের অঞ্চলগুলিকে সমর্থন করে যা একইভাবে ব্যবহার করা যেতে পারে।
নীড়ের জায়গার মধ্যে থাকা অঞ্চলগুলিকে বিভিন্ন ভিজ্যুয়াল ব্লকে ভাগ করা
অতিরিক্ত পাঠ্যযোগ্যতা সহায়তা করার জন্য অতিরিক্ত লাইনগুলি কোডে সন্নিবেশ করা হয়। নেস্টভিউয়ের কনট্যুর লাইনের স্যাচুরেশন স্তরটি পুনরায় সেট করতে এই জাতীয় খালি লাইনগুলি ব্যবহার করা যেতে পারে।
মাল্টি-কলাম কোড ভিউ
ইনডেন্টেশন ছাড়াই কোড বহু-কলামের দর্শনকে আরও কার্যকর করে তোলে কারণ শব্দ-মোড়ানো বা অনুভূমিক স্ক্রোলিংয়ের প্রয়োজনের সম্ভাবনা কম। এই দৃশ্যে, কোডটি একবারে একটি কলামের নীচে পৌঁছে গেলে, এটি পরবর্তী একটিতে প্রবাহিত হয়:
নিছক একটি চাক্ষুষ সহায়তা সরবরাহের বাইরে ব্যবহার
হিসাবে ওভারভিউতে প্রস্তাব NestView পারে এডিটিং এবং নির্বাচন বৈশিষ্ট্য রয়েছে যা কি একটি ট্রিভিউ নিয়ন্ত্রণ থেকে আশা করা হচ্ছে সঙ্গে সঙ্গতিপূর্ণ বিস্তৃতভাবে হবে একটি পরিসীমা প্রদান। মূল পার্থক্যটি হ'ল একটি সাধারণ ট্রিভিউ নোডের 2 টি অংশ থাকে: একটি প্রসারণকারী এবং নোড আইকন। নেস্টভিউ কনট্যুর লাইনে প্রায় 3 টি অংশ থাকতে পারে: একটি ওপেনার ( opালু ), একটি সংযোজক (উল্লম্ব) এবং একটি ঘনিষ্ঠ ( opালু ) )
ইনডেন্টেশন অন
নেস্টভিউ নন-ইন্টেন্টেড কোড পরিপূরকগুলির সাথে উপস্থাপিত হয়েছে, তবে প্রচলিত ইনডেন্ট কোড ভিউ প্রতিস্থাপনের সম্ভাবনা নেই।
সম্ভবত এমন কোনও সমাধান যা নেস্টভিউ অবলম্বন করে, কোনও কোড পাঠ্যকেই প্রভাবিত না করে ইন্টেন্টেড এবং নন-ইন্টেন্টেড কোড মতামতের মধ্যে নির্বিঘ্নে স্যুইচ করার একটি পদ্ধতি সরবরাহ করবে - হোয়াইটস্পেস অক্ষর সহ। ইন্ডেন্টেড ভিউর জন্য একটি কৌশল হ'ল ভার্চুয়াল ফর্ম্যাটিং '- যেখানে একটি গতিশীল বাম-মার্জিন ট্যাব বা স্থান অক্ষরের পরিবর্তে ব্যবহৃত হয়। নেস্টভিউকে গতিসম্পন্নভাবে রেন্ডার করতে ব্যবহৃত একই নেস্টিং-লেভেলের ডেটা আরও প্রচলিত-চেহারাযুক্ত ইন্টেন্ট ভিউয়ের জন্য ব্যবহার করতে পারে।
মুদ্রণ
মুদ্রিত কোডের পাঠযোগ্যতার জন্য সূচকগুলি গুরুত্বপূর্ণ হবে। এখানে, ট্যাব / স্পেস অক্ষরের অনুপস্থিতি এবং একটি গতিশীল বাম-মার্জিনের অর্থ হ'ল পাঠটি ডান-মার্জিনে মোড়ানো করতে পারে এবং তবুও ইন্ডেন্টেড ভিউয়ের অখণ্ডতা বজায় রাখতে পারে। লাইন নম্বরগুলি ভিজ্যুয়াল মার্কার হিসাবে ব্যবহার করা যেতে পারে যা নির্দেশ করে যে কোডটি শব্দ-মোড়ানো এবং প্রবর্তনের সঠিক অবস্থান:
স্ক্রিন রিয়েল-এস্টেট: ফ্ল্যাট বনাম ইন্ডেন্ট করা
নেস্টভিউ মূল্যবান পর্দা রিয়েল এস্টেট ব্যবহার করে কিনা এই প্রশ্নের সম্বোধন:
কনট্যুর লাইনগুলি কোড সম্পাদকের অক্ষরের প্রস্থের মতো একটি প্রস্থের সাথে ভালভাবে কাজ করে। কনট্যুর লাইনগুলি কাটা / সঙ্কুচিত হওয়ার আগে 12 টি অক্ষরের প্রস্থের নেস্টভিউ প্রস্থটি 12 টি নেস্টিংয়ের সাথে সামঞ্জস্য করতে পারে।
যদি কোনও ইন্ডেন্টেড ভিউ প্রতিটি নেস্টিং স্তরের জন্য 3 টি চরিত্রের প্রস্থ ব্যবহার করে তবে বাসা বাঁধার 4 স্তরে পৌঁছানো পর্যন্ত স্পেস সংরক্ষণ করা হয়, এই নীড় স্তরের পরে ফ্ল্যাট ভিউতে একটি স্থান-সংরক্ষণের সুবিধা রয়েছে যা প্রতিটি বাসা বাঁধার স্তরের সাথে বৃদ্ধি পায়।
দ্রষ্টব্য: 4 টি অক্ষরের প্রস্থের সর্বনিম্ন ইনডেন্টেশনটি কোডের জন্য প্রায়শই প্রস্তাবিত হয়, তবে এক্সএমএল প্রায়শই কম সহ পরিচালনা করে। এছাড়াও, ভার্চুয়াল বিন্যাসটি কম ইনডেন্টেশন ব্যবহারের অনুমতি দেয় কারণ প্রান্তিককরণের কোনও ঝুঁকি নেই
2 দর্শনগুলির একটি তুলনা নীচে দেখানো হয়েছে:
উপরের উপর ভিত্তি করে, এটি সম্ভবত সিদ্ধান্ত নেওয়া যায় যে দৃশ্যের শৈলীর পছন্দটি পর্দার রিয়েল এস্টেট ব্যতীত অন্য কারণের ভিত্তিতে তৈরি হবে। একটি ব্যতিক্রম হ'ল স্ক্রিন স্পেসটি প্রিমিয়ামে রয়েছে, উদাহরণস্বরূপ নেটবুক / ট্যাবলেট বা যখন একাধিক কোড উইন্ডো খোলা থাকে। এই ক্ষেত্রে, পরিবর্তনযোগ্য নেস্টভিউ একটি পরিষ্কার বিজয়ী বলে মনে হবে।
ব্যবহারের ক্ষেত্রে
নেস্টভিউ একটি দরকারী বিকল্প হতে পারে যেখানে বাস্তব-বিশ্বের উদাহরণগুলির উদাহরণ:
যেখানে স্ক্রিন রিয়েল এস্টেট একটি প্রিমিয়াম এ
ক। ট্যাবলেট, নোটপ্যাড এবং স্মার্টফোনগুলির মতো ডিভাইসে
B ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর. ওয়েবসাইটে কোড দেখাচ্ছে যখন
গ। যখন একাধিক কোড উইন্ডো একসাথে ডেস্কটপে দৃশ্যমান করা প্রয়োজন
যেখানে কোডের মধ্যে টেক্সটের সামঞ্জস্যপূর্ণ শ্বেত স্পেস ইনডেন্টেশন একটি অগ্রাধিকার
গভীরভাবে নেস্টেড কোড পর্যালোচনা করার জন্য। উদাহরণস্বরূপ যেখানে সাব-ভাষা (যেমন সি # তে লিনক বা এক্সএসএলটিতে এক্সপাথ) নীড়ের উচ্চ স্তরের কারণ হতে পারে।
অভিগম্যতা
ভিজ্যুয়াল বৈকল্যযুক্ত ব্যক্তিদের সহায়তা করার জন্য এবং পরিবেশগত পরিস্থিতি এবং ব্যক্তিগত পছন্দ অনুসারে অবশ্যই পুনরায় আকার এবং রঙের বিকল্পগুলি সরবরাহ করা উচিত:
অন্যান্য সিস্টেমের সাথে সম্পাদিত কোডের সামঞ্জস্যতা
নেস্টভিউ বিকল্পটি অন্তর্ভুক্ত করার একটি সমাধানটি আমদানি করা কোড থেকে শীর্ষস্থানীয় ট্যাব এবং স্পেস অক্ষরগুলিকে (কেবলমাত্র একটি ফরম্যাটিংয়ের ভূমিকা হিসাবে চিহ্নিত হিসাবে চিহ্নিত করা) আলাদা করতে সক্ষম হওয়া উচিত। তারপরে, একবার ছিটকে গেলে, কোডটি পরিবর্তন ছাড়াই উভয় বাম-ন্যায়সঙ্গত এবং ইন্টেন্ট করা মতামতগুলিতে ঝরঝরেভাবে রেন্ডার করা যেতে পারে। হোয়াইটস্পেস-সচেতন নয় এমন মার্জ এবং ডিফ সরঞ্জামগুলির মতো সিস্টেমে নির্ভর অনেক ব্যবহারকারীদের জন্য এটি একটি বড় উদ্বেগ হবে (যদি সম্পূর্ণ শো-স্টপার না হয়)।
অন্যান্য কাজ:
ওভারল্যাপিং মার্কআপের ভিজ্যুয়ালাইজেশন
২০০৪ সালের তারিখে ওয়েন্ডেল পাইজের প্রকাশিত গবেষণা ওভারল্যাপিং মার্কআপের ভিজ্যুয়ালাইজেশনের বিষয়টি, বিশেষত এলএমএনএল-কে সম্বোধন করেছে । এর মধ্যে নেস্টভিউ প্রস্তাবের সাথে উল্লেখযোগ্য মিলের সাথে এসভিজি গ্রাফিক্স অন্তর্ভুক্ত রয়েছে, যেমন তারা এখানে স্বীকৃত।
চিত্রগুলির মধ্যে (নীচে) ভিজ্যুয়াল পার্থক্য স্পষ্ট, মূল কার্যকরী পার্থক্যটি হ'ল নেস্টভিউ কেবলমাত্র সুনির্দিষ্ট এক্সএমএল বা কোডের জন্য তৈরি করা হয়েছে, অন্যদিকে ওয়েণ্ডেল পাইজের গ্রাফিকগুলি ওভারল্যাপযুক্ত নীড়গুলি উপস্থাপনের জন্য ডিজাইন করা হয়েছে।
উপরের গ্রাফিকগুলি http://www.piez.org থেকে - দয়া করে অনুমতি সহ পুনরুত্পাদন করা হয়েছিল
সূত্র: