পাইথন প্রোগ্রামাররা কি হোয়াইটস্পেসের সমস্যাটি অসুবিধে করে? [বন্ধ]


11

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

অবশ্যই আমি জাভা বিশ্বে আমার কেরিয়ারটি কাটিয়েছি বলে পাইথন প্রোগ্রামারদের সাথে আমার খুব বেশি দেখা হয়নি।

সুতরাং আমার প্রশ্নটি আপনার মধ্যে যারা একটি বড় পাইথন প্রকল্পে অংশ নিয়েছেন (3 মাসেরও বেশি সময়, পাইথন প্রাথমিক ভাষা ব্যবহৃত হয়): আপনি কি হোয়াইটস্পেসের সমস্যাটি অসুবিধাজনক এবং ক্রমাগত বিরক্তিকর বলে মনে করেছেন? আপনি একবার প্রবাহে উঠলে এটি কি নন-ইস্যু ছিল?

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

আপনি পাইথনে অভিজ্ঞ না হলে অনুমানগুলি সরবরাহ করবেন না।


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

হোয়াইটস্পেসের বিষয়টি কখন থেকে? :-)
কুগেল

22
আমরা এটিকে অসুবিধে করে ফেলেছি যে প্রত্যেকে এটিকে অবিরত রাখে। আমরা কখনই এ নিয়ে ভাবি না।
উইনস্টন ইওয়ার্ট

বছর পূর্বে হোয়াইটস্পেসের বিষয়টি আলাদা নয় - ওসিসিএএম 2 এর উল্লেখযোগ্য সাদা স্থান ছিল। এটা কোন বড় ব্যাপার ছিল না।
দ্রুত_ এখন

4
কেবলমাত্র একবারই আমি বিরক্তিকর বলে মনে করি যখন অনলাইন থেকে কপি-পেস্টিং কোডটি যা ট্যাবগুলির পরিবর্তে ফাঁকা স্থান (বা তদ্বিপরীত) ব্যবহার করে লেখা হয়েছিল, আক্ষরিক অর্থে অদৃশ্য বাক্য গঠনের ত্রুটি ঘটায়
ক্যামেরন

উত্তর:


14

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

সর্বোপরি, এটি একটি জয়, যদিও কেবলমাত্র আমার পর্দার অর্ধেকটি নীচের মত লাইনে পূর্ণ হতে বাধা দেওয়ার জন্য:

         }
      }
   }
}

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

1
হ্যাঁ, ইমাসে আমি ব্লকটি নির্বাচন করি এবং হিট করি C-c >বা C-c <। যদিও আপনাকে এখনও এটি করতে হবে। এটিকে অন্যভাবে বলতে গেলে যেহেতু সাদা স্থান এবং কোড লজিক অপ্রয়োজনীয় নয়, আপনি কেবল একটি দৈত্য ব্লক নির্বাচন করতে পারবেন না এবং M-x indent-region(বা আপনার সম্পাদকের সংস্করণ যাই হোক না কেন) এগুলি সমস্ত "সঠিকভাবে" ইনডেন্ট করতে পারেন।
dfan

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

@ উইনস্টন - অবশ্যই আপনার সম্পাদক হতে হবে। আপনি যে কোডটি পেস্ট করেছেন তা যদি সঠিকভাবে ইনডেনেট থাকে তবে ডান / বাম দিকে খুব দূরে যদি এটি কয়েক স্তর থেকে বেরিয়ে আসে তবে ঠিক সেই অনুসারে এটি প্রান্তিককরণ করার জন্য ট্যাব টাইপ করার বিষয়টি কেবলমাত্র (SHIFT +) ট্যাব করার বিষয় - কীটি চাপানোর ক্ষেত্রে কোনও তাত্পর্য নয় not ফাইলটি পুনরায় পাঠান। এছাড়া - তুমি কপি করবেন shalst / কোড পেস্ট করুন :)
ইঙ্গো

1
@ উইনস্টন: এমনকি ট্যাব এবং শিফট-ট্যাব ব্যবহার করার সময় নোটপ্যাড ++ ইনডেন্ট ব্লক, আমি এখনও ভিম ​​শর্ট-কাটটি খুঁজে পাইনি, তবে আমি এটি যথেষ্ট পরিমাণে ব্যবহার করি না বলে অনুমান করি: পি
ম্যাথিউ এম।

50

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


8
নিজেকে পুনরাবৃত্তি করবেন না এর জন্য +1। ভাল অনুশীলন হউক না কেন ব্লক কাঠামো প্রতিফলিত করার জন্য কোড প্রবর্তন করা, তাই কেন পাশাপাশি / শেষ চিহ্নিতকারীদের শুরু হয়েছে?
স্টিভ 314

12

তাৎপর্যপূর্ণ হোয়াইটস্পেস আমার পক্ষে সুবিধাজনক । এটি আমাকে কম টাইপ করে। এটি কোড সুস্পষ্টভাবে এবং বরং দ্ব্যর্থহীনভাবে ফর্ম্যাট করে। এর কারণে এটি কোডটিকে আরও পঠনযোগ্য করে তোলে।

(আমি একই কারণে হাস্কেলের মধ্যে উল্লেখযোগ্য সাদা স্থান পছন্দ করি))


1
আমি আমার ইতিবাচক অভিজ্ঞতা হাস্কেল হোয়াইটস্পেসের সাথেও ভাগ করে নিতে পারতাম, তবে ফার্মবয় জোর দিয়েছিলেন যে পাইথনের সাথে একজনের অবশ্যই তিন মাসের অভিজ্ঞতা থাকতে হবে, অন্য কিছু অনুমান ছিল। :-)
এঙ্গো

1
১৯৯৯ সাল থেকে পাইথনের সাথে আমার অভিজ্ঞতা, সুতরাং আমার উত্তরটি সম্ভবত যোগ্যতা অর্জন করবে :) (হাস্কেলের সাথে আমার অভিজ্ঞতাটি খুব ছোট।)
9000

@ 9000 যদিও পাইথনের আগে হাস্কেল এসেছিল! : ডি
প্রাদুনসগ

8

আমি যখন অজগরটি প্রথম ব্যবহার করেছি, তখন সাদা স্থানটি নতুন ছিল এবং তাই বিরক্তিকর বিধিনিষেধ।

এখন আমি এটি নজরেও নেই। আমি 11 মাস ধরে অজগর ব্যবহার করছি।


5

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

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


আপনার সম্পাদককে ত্রুটি হিসাবে হাইলাইট ট্যাবগুলি সিনট্যাক্সে বলা অনেক সাহায্য করতে পারেhighlight link RedundantSpaces Error | au BufEnter,BufRead * match RedundantSpaces "\t" | au BufEnter,BufRead * match RedundantSpaces "[[:space:]]\+$"
ভিমে

4

কোনও প্রোগ্রামার যদি সাদা স্পেসগুলির তাত্পর্য থেকে বিরক্ত হন তবে তিনি সম্ভবত পাইথন প্রোগ্রামার হয়ে উঠবেন না।


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

@ ডেলান, আমি এটিতে সাবস্ক্রাইব করতে পারি।
এঙ্গো

3

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

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


3

প্রকৃত কোডিংয়ের জন্য, এটি মোটেও অসুবিধাজনক নয়, তবে আসলেই উপকারী (সিমচা এর উত্তর দেখুন)।

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


2

আমি হোয়াইটস্পেসকে বিরক্তিকর মনে করি না। আমি অন্যান্য ভাষায় খুব বিরক্তিকর ইনডেন্টিংয়ের অভাব বা পাই। আমি বুঝতে পারি এই সমস্যাটি হ'ল শৈলীর সমাধানের উদ্দেশ্যে তৈরি করা সমস্যাগুলির মধ্যে একটি।

পাইথন আমার প্রাথমিক ভাষাগুলির মধ্যে একটি নয়।

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


1
পাইথন ইনডেন্টেশনে ট্যাব এবং স্পেসের মিশ্রণ হ'ল নরকের সবচেয়ে সংক্ষিপ্ত রাস্তা: পি
ম্যাথিউ এম।

@ মাতিউ: অবশ্যই আমার বিরক্তি আছে।
বিলথোর

1

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

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