পিছনে সাদা স্থান কেন একটি বড় ব্যাপার? [বন্ধ]


116

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

এটি এড়ানোর জন্য এটি ইতিমধ্যে বেশ ভাল কারণ বলে মনে হচ্ছে তবে এর চেয়ে আরও কিছু আছে কিনা তা আমি দেখতে চাই। তাহলে, কেন সাদা রঙের স্থান এত বড় ব্যাপার?


30
স্পেস স্পেস হ'ল প্রকৃতপক্ষে শোনানো। অন্য কোনও কারণ নিয়ে ভাবতে পারি না।
ইয়ানিস

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

4
'শেষ' বোতামটি দিয়ে স্ট্রিংয়ের শেষ দিকে নেভিগেট করা প্রচুর ট্রেলিং হোয়াইটস্পেসের সাথে অগোছালো হতে পারে।
ইয়ারেক কোভুন্তেঙ্কো

11
আমি মনে করি আপনি প্রশ্নটি ভুলভাবে জিজ্ঞাসা করছেন। চারপাশের অন্য উপায়টি: white সাদা স্থানগুলি অনুসরণ করার সুবিধা কী কী? »। সঠিক প্রশ্ন জিজ্ঞাসা করার সময় উত্তরটি বেশ স্পষ্ট হয়ে ওঠে;)
ডেডালনিক্স

7
হতে পারে আপনার হোয়াইটস্পেসে প্রোগ্রামিং চেষ্টা করা উচিত । * 8 ')
মার্ক বুথ

উত্তর:


76

যে কারণগুলি এটি আমার কাছে গুরুত্বপূর্ণ:

  • যখন আমি "এন্ড" কী টিপব, তখন আমি কার্সারটি লাইনটির শেষের দিকে যেতে হবে (আমি কী সম্পাদক ব্যবহার করছি এবং এটি কীভাবে কনফিগার করা হয়েছে তার উপর নির্ভর করে) এবং আমি আশা করি এখনই টাইপ করা শুরু করতে সক্ষম হব যদি কার্সারটি সেখানে পৌঁছে যায় এবং আমাকে 3 বা 4 টি অক্ষর মুছতে হয়, এটি বিরক্তিকর। বিশেষত যদি এটি ফাইল (গুলি) জুড়ে অসঙ্গতিপূর্ণ হয়।

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

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


8
পয়েন্ট 1 আপনার সম্পাদকের সমস্যা, পেছনের সাদা স্থানের সাথে নয়।
মার্জন ভেনেমা

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

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

1
@ ডিডালনিক্স: অবশ্যই তাই আপনার বেশিরভাগ মানুষের পছন্দ অনুসারে বিকল্পগুলির সাথে একটি ভাল সম্পাদক প্রয়োজন। এবং সুতরাং 1 পয়েন্টটি সম্পাদকের সাথে সমস্যা এবং পেছনের সাদা স্থান নয়।
মার্জন ভেনেমা

1
পয়েন্ট 1 হ'ল স্পষ্টভাবে হ'ল আমি কেন একটি নির্দিষ্ট স্টাইলের হোয়াইটস্পেসের অনুসরণ করতে পছন্দ করি: ফাঁকা লাইনগুলি পৃথক কোডের সাথে ইন্টেন্ট করা হচ্ছে। এটি ইনডেন্ট না করেই নতুন কোডটি তত্ক্ষণাত
sertedোকানোর অনুমতি দেয়

29

আমি সত্যিই পেছনের সাদা স্থানটিকে ঘৃণা করি তবে সঠিক কারণটি কিছুটা অস্পষ্ট।

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

অন্যান্য কারণ (প্রোগ্রামিংয়ে), ভাল কারণ নয়, আমি জানি, তবে তারা আমার অবচেতন মানসিকতাকে এতো মারাত্মক তীব্রভাবে বিরক্ত করে যে তারা আমাকে এড়িয়ে দিতে বাধ্য করে:

  • এটি প্রয়োজনের তুলনায় বেশি সঞ্চয় স্থান নেয়
  • সংকলন করার সময় পার্সারকে কোনও যুক্তিসঙ্গত কারণে অতিরিক্ত চরিত্রটি এড়িয়ে যেতে হবে
  • ওয়ার্ড ওয়ার্যাপ চালু থাকলে এবং পিছনের স্থানটি উপযুক্ত না হলে কিছু সম্পাদক অতিরিক্ত খালি লাইন যুক্ত করতে পারে

হ্যাঁ হ্যাঁ, আমি জানি! আমি জানি, এগুলি আবর্জনার কারণ। আমি পারফেকশনিস্ট নই, তবে ... ঠিক আছে আমি আছি?

শেষ কারণটি আমি বেমানান কার্সার আন্দোলন is কার্সারটি রেখার শেষে পাতলা বাতাসে ঝুলছে বলে মনে হচ্ছে, ডানদিকের প্রতিটি ধাপে এটি নামতে পারে বা অজানা পরিমাণে আরও ঘোরাফেরা করতে পারে, এটি কেবল অস্থির বোধ করে (অদৃশ্য বা অদৃশ্য অবরুদ্ধ ব্লকের মতো) মারিও লাফিয়ে পড়ত))

সম্ভবত আমি ট্রেলস্পেসিফোবিয়া রোগ নির্ণয় করা যেতে পারে?


আমার ক্ষেত্র নয়, তবে আমার কাছে এটি অদ্ভুত বলে মনে হচ্ছে ... আপনি সেখানে ডেস্কটপ প্রকাশনাতে কোন ধরণের টাইপসেটিং সিস্টেম ব্যবহার করেন, এটি ডিফল্টরূপে ট্রেলিং / একাধিক স্পেস অগ্রাহ্য করে না ? আমি ভেবেছিলাম যে গ্রাহক-স্তরের ডাব্লুওয়াইএসআইওয়াইজি জাঙ্ক বাদে ল্যাটেক্স এবং বেশিরভাগ প্রোগ্রামিং ভাষাগুলি এটি যে কোনও জায়গায় স্ট্যান্ডার্ড।
বাম দিকের বাইরে

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

"ডেস্কটপ প্রকাশনা" আপনি "টাইপসেটিং সিস্টেম" দিয়ে কিছু করেন না।
রাকলাইস

22

এগুলির অনেকগুলি উত্তর আমার পক্ষে খারাপ হওয়ার কারণটিকে প্রায় স্পর্শ করে তবে মূলত: এটি পাঠ্য সম্পাদককে "ব্রেক" করে। আমার অভিজ্ঞতা ভিমের সাথে রয়েছে।

ভিমটি এমনভাবে তৈরি করা হয়েছে যাতে সাধারণ ক্রিয়াকলাপগুলিকে চিঠিগুলিতে এত পরিষ্কারভাবে মানচিত্র করা হয় যে কোন চিঠি বা কী সংমিশ্রণটি আঘাত করবে তা নিয়ে আপনাকে ভাবতে হবে না। বিভিন্ন হটকি কার্সারটিকে পাঠ্যের চারপাশে এত তাড়াতাড়ি ঝাঁপিয়ে পড়ার অনুমতি দেয় যে আপনি যেখানে চান সেখানে পৌঁছাতে কেবল কয়েকটি কীস্ট্রোক লাগবে। এমনকি কোডের ভাঁজ ব্লকগুলির মতো জিনিসগুলিও দ্রুত, যেহেতু আপনি শেষ বা hit লাইনের শেষ প্রান্তে চলে যেতে পারেন, যেখানে কার্সারটি la বা} বা (বা) বা অন্য কিছুতে ওভারল্যাপ হওয়া উচিত - এতে আপনার চিন্তার প্রবাহটি ভাঙ্গার দরকার নেই পর্দায় একটি ধারণা পেতে।

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

কখনও খেয়াল করুন যখন লোকেরা সত্যই কোনও কাজে মনোনিবেশ করে এবং কেউ তাদের বাধা দেয় তখন কীভাবে বিরক্ত হন? হ্যাঁ, কমপক্ষে প্রত্যাশিত হোয়াইট স্পেস সন্ধান করা ঠিক এরকম।

একটি সাইডনোট হিসাবে, আমি আরও লক্ষ্য করেছি যে যে লোকেরা হোয়াইটস্পেসের অনুসরণের বিষয়ে চিন্তা করে না তারা হ'ল যাঁরা নেভিগেশনের জন্য মাউস ব্যবহার করেন এবং এর কারণে ধীরে ধীরে টাইপিস্ট হন ...


2
একটি সিডনোট হিসাবে, টাইপিং গতির সাথে আপনি কিছুই করতে পারেননি যে আপনি নেভিগেশনের জন্য মাউস ব্যবহার করেন বা না করেন। কিছু নেভিগেশন একটি মাউস জন্য পুরোপুরি উপযুক্ত। ; পি
স্টিভেন জিউরিস

2
আপনি যদি ভিএম ব্যবহার করেন আপনি দ্রুত সমস্ত চলমান সাদা স্থান সরিয়ে ফেলতে পারেন:%s/ *$//
জর্জিও

1
@ জর্জিও আমি জানি, তবে আমি কেবল এটি কখনই করতে পারি না কারণ এটি সংস্করণ নিয়ন্ত্রণের পরিবর্তনের হিসাবে গণ্য হয়েছে
ইজকাটা

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

17

আশ্চর্যজনকভাবে, সর্বাধিক সুস্পষ্ট উত্তরটি অনুপস্থিত: হোয়াইটস্পেসের অনুসরণ করা ত্রুটিগুলি খুঁজে পাওয়া শক্ত করতে পারে এবং করবে।

সর্বাধিক সুস্পষ্ট পরিস্থিতি মাল্টিলাইন স্ট্রিং। পাইথন, জাভাস্ক্রিপ্ট এবং ব্যাশ এর দ্বারা প্রভাবিত হতে পারে এমন কয়েকটি ভাষার উদাহরণ:

print("Hello\·
····World")

সৃষ্টি করে:

  File "demo.py", line 1
    print("Hello\
                 ^
SyntaxError: EOL while scanning string literal

যা কোনওভাবে ক্রিপ্টিক এবং সমাধান করা সহজ যদি সাদা অংশের অক্ষর প্রদর্শন করতে সম্পাদকটি কনফিগার করা না থাকে।

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

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

চিত্র: সিনট্যাক্স হাইলাইটটি এমন পরিস্থিতিতে শুভ্রতর স্থানটিকে অনুসরণ করা এড়াতে সহায়তা করতে পারে যেখানে এটি বাগের দিকে নিয়ে যেতে পারে, তবে কেবল তার উপর নির্ভর করবেন না।

পূর্বের উত্তরে সংক্ষেপে উল্লিখিত আরেকটি প্রসঙ্গ হ'ল ফাইলগুলিতে সঞ্চিত ডেটা।

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

অন্যান্য কাস্টম ফর্ম্যাটগুলি স্পষ্টত বিবেচনা করতে পারে যে হোয়াইটস্পেস মূল্যের অংশ, যা সামঞ্জস্যপূর্ণ কিন্তু পরিস্থিতি ডিবাগ করা এখনও কঠিন।


14

আমি সম্প্রতি একটি দিনটি ব্যগটির সন্ধানে অতিবাহিত করেছি যা ডেটাতে অপ্রত্যাশিতভাবে হোয়াইটস্পেসে পরিণত হয়েছিল।


13
আমার মনে হয় এটা হল একটি বাগ; কোড প্রসেসিং মানব-উত্পাদিত ইনপুটটির অনুসরণ করা সাদা স্থানটি বাতিল করা উচিত এবং প্রায়শই শীর্ষস্থানীয় সাদা স্থানও বাতিল করা উচিত।
কেভিন cline

@ কেভিঙ্কলাইন - এটি কমপক্ষে হওয়া উচিত। এটি যদি স্ক্রিনে বা প্রিন্টআউটে দৃশ্যমান না হয় তবে আমি এটি সম্পর্কে ভাবতে চাই না।
রোক

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

2
@ স্টিভেন ট্রেইলিং হোয়াইটস্পেসের ফলে একটি বাগ এসেছিল যা ট্র্যাক করা কঠিন ছিল। আমার কাছে ভাল উত্তর বলে মনে হচ্ছে। আপনি কীভাবে কিছু ডেটা পার্সিং কোড সেই পরিস্থিতিতে ভাঙ্গতে পারেন তা কল্পনা করতে পারেন।
শেপার্ড

আমি ডেটার শেষে হোয়াইটস্পেস সরিয়েছি এবং এখন একটি পরীক্ষা ব্যর্থ হয়। আপনি এর জন্য দায়ী। তোমার নাম কি? আমি বিল কোথায় পাঠাব?
টমাস ওয়েলার

8

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

if (fp)........
{....
    fclose(fp);.
}
else
{.....
    prinft("File is NULL\n");
}..

এই উদাহরণটি কৃত্রিম, তবে আমি প্রচুর কোড দেখেছি যা দেখতে এটির মতো।


7

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

বেশিরভাগ ক্ষেত্রেই সাদা পাঠাগুলি রয়েছে মানব পাঠকদের জন্য কোডটি ফর্ম্যাট করার জন্য। ট্রেলিং হোয়াইটস্পেস কয়েকটি বিষয়কে ইঙ্গিত করতে পারে যার মধ্যে রয়েছে:

  • একটি অসম্পূর্ণ বিবৃতি;
  • একটি অনুপস্থিত মন্তব্য;
  • একটি ভুল সম্পাদনা; অথবা
  • Opালু সম্পাদনা।

এর মধ্যে দুটি ভুল ফান্টিংয়ের ফলস্বরূপ হতে পারে এবং অন্যটি কোডটি বোঝা আরও জটিল করে তুলতে পারে।


4

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

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