সর্বাধিক অবমূল্যায়িত প্রোগ্রামিং সরঞ্জাম [বন্ধ]


35

আমাদের কাছে অনেক দুর্দান্ত সরঞ্জাম রয়েছে যা প্রোগ্রামিং করার সময় প্রচুর পরিমাণে সহায়তা করে যেমন ভাল প্রোগ্রামারগুলির পাঠ্য সম্পাদক, আইডিই, ডিবাগারগুলি, সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ইত্যাদি the কিছু সরঞ্জামের কাজ কমিয়ে আনার জন্য "অবশ্যই" সরঞ্জাম থাকতে পারে (যেমন সংকলক) ।

এখনও সবসময় এমন সরঞ্জাম রয়েছে যা প্রচুর পরিমাণে সহায়তা করে, কিন্তু এখনও ততটা দৃষ্টি আকর্ষণ করে না, বিভিন্ন কারণে, উদাহরণস্বরূপ, যখন তারা মুক্তি পেয়েছিল তখন তারা তাদের সময়ের চেয়ে এগিয়ে ছিল এবং এখন কমবেশি ভুলে গেছে।

আপনি টুল প্রোগ্রামিং কি ধরনের চিন্তা করেন সবচেয়ে underestimated এক? আপনার উত্তর প্রেরণা।


3
আমাদের মস্তিস্ক? - -
ট্রুফা

ঠিক আছে, কে লিস্প এন্ট্রি যুক্ত করতে চায়? * গ্রিন *
সি

উত্তর:


70

একটি রাবার হাঁস হ্যাঁ সত্যিই.

http://en.wikipedia.org/wiki/Rubber_duck_debugging

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

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


6
আমি স্বামীর সাথে এই সব সময় করি। প্রোগ্রামিং দক্ষতার এক বিস্ময়কর প্রযুক্তি সহ একটি টেক সাপোর্ট লোক হিসাবে, আমি যা বলি তার প্রায় 60% বোঝে তবে 40% যে আমি বুঝতে পারি তা বোঝাতে বাধ্য করে। এটি কাজ করে এমন অনুষ্ঠানের সংখ্যা সত্যিই বেশ চিত্তাকর্ষক।
এথেল ইভান্স

1
তুমি হাসো. আমার সহকর্মীর সাথে তার ডেস্কে আসলে রাবারের হাঁস ছিল।
বারিন লরিটস

57
আমি চেষ্টা করেছিলাম, কিন্তু আমার রাবার হাঁস সমস্যার দিকে মনোযোগ দিতে পারে না বলে মনে হচ্ছে। প্রোগ্রামিংয়ের আসল আগ্রহের সাথে আমি কোথায় উপযুক্ত রাবার হাঁস পেতে পারি?
স্টিভ 314

3
আমি এই জন্য আমার জার্নাল ব্যবহার। এটি নিয়ে আমার মাঝে মাঝে বেশ দীর্ঘ আলোচনা হয়। আমি ইচ্ছা করি আমি কখনও কখনও আমার অর্থ কী তা বোঝাতে পারি। জার্নালে এটি লেখার পরে মাঝে মাঝে অনেকটা সহায়তা হয়, যখন আমি ভাবছি যে আমি যে কোডটি নিয়ে কাজ করছি সে কী লিখেছে সে ভাবছিল।
লার্স উইর্জনিয়াস

1
@ স্টিভ: জাপানি গবেষকরা এটিতে কাজ করছেন, তবে আমি মনে করি না যে তারা কোথাও খুব কাছাকাছি ছিল: youtube.com/watch?v=3g-yrjh58ms
রে মিয়াসাকা

42

কলম এবং নোটবুক।

  1. বিদ্যুৎ ছাড়াই কাজ করে।
  2. সুবহ.
  3. সভাগুলিতে বিরক্ত হলে ডুডল অন / ইন
  4. দরকারী তথ্য সংরক্ষণ করুন।
  5. যদি এটি লিখিত থাকে তবে লোকেরা এটিকে আরও বেশি গুরুত্ব দেয়।
  6. অন্যরা এটি পড়তে এবং শিখতে পারে।

বড় কর্পোরেশনের পুরানো দিনগুলিতে ইঞ্জিনিয়ার এবং প্রযুক্তিবিদদের ফাঁকা ইঞ্জিনিয়ারিং নোটবুক দেওয়া হত যেখানে তারা আমাদের হার্ড ড্রাইভে বিভিন্ন ফাইলগুলিতে স্টাফ করার প্রবণতাগুলি লিখত। নোটবুকগুলি পূর্ণ হয়ে গেলে সেগুলি নিরাপদ এবং অগ্নি-নিরাপদ ভাণ্ডারে প্রেরণ করা হবে। কারও যদি সেই নোটগুলিতে অ্যাক্সেসের প্রয়োজন হয় তবে তারা নোটবুকগুলি পরীক্ষা করে দেখতে পারে।
ওস্টারওয়াল

3
রাশিয়ানরা পেন্সিল ব্যবহার করত।
চাকরী

@ জো হা, আমি এখনও বোতল কালি ব্যবহার করছি! (... ঠিক আছে, কেবল ক্যালিগ্রাফির জন্য, তবে এখনও :) :))
মতিন উলহাক

ট্যাবলেট পিসি সম্পর্কে কি?
মতিন উলহাক

1
@ জোব:… এবং ভদকা!
Spoike

38

ফ্ল্যাট টেক্সট ফাইলগুলিতে লগ আউটপুট বা ডেটা তুলনা করার সময় বিভিন্ন সরঞ্জামগুলি আন্ডারোজড বলে মনে হয়। বা সম্ভবত এটি একটি কুলুঙ্গি? প্রোগ্রাম এক্সিকিউশনগুলির বিশাল লগগুলির তুলনা করতে এবং পরিবর্তিত এক বা দুটি বিশদটি নির্ধারণ করার জন্য আমি এটি ডিবাগিংয়ের জন্য খুব দরকারী এবং সহায়ক বলে মনে করি।

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

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


1
++ একেবারে কম করা diffহয় না। প্রোফাইলিংয়ের বিষয়ে, আপনি অবশ্যই ভেবে দেখছেন যে সেগুলি অবশ্যই কার্যকর হবে তবে আপনি নিজেই জানেন না how এটা যাচাই কর.
মাইক ডুনলাভে

হ্যাঁ, আমি আসলে একটি প্রোফাইলিং সরঞ্জাম শিখার কথা ভেবেছিলাম, তবে কখনই তা পাই নি
এন্টো

23
প্রোফাইলিংয়ের জন্য +1, ভিন্ন সরঞ্জামগুলির জন্য +1, এক্সএমএল সরঞ্জামগুলির জন্য -1। কিছু লোক, যখন কোনও সমস্যা নিয়ে আসে, তখন "আমি জানি, আমি এক্সএমএল ব্যবহার করব" think <Problem:Worsening> <Problem:TimeDescription>Now</Problem:TimeDescription> <Problem:Posessive>they have</Problem:Posessive> <Problem:Quantity>many, many</Problem:Quantity> <Problem:WorseningDescription>more problems</Problem:WorseningDescription></ProblemWorsening>
ম্যাসন হুইলার

2
@ ম্যাসন: বুদ্ধিমান এক্সএমএল।
মাইক ডুনলাভে

10
@Mason হুইলার: আমি এক্সএমএল সুপারিশ করা হয়নি হিসেবে সমস্যার সমাধানের টুল, আমি প্রস্তাবিত ভালো এক্সএমএল সরঞ্জামসমূহ - আপনি যখন আছে এক্সএমএল এর সাথে কাজ করা, নিশ্চিত করুন আপনি যে এটা খুবই ভালো একজন সম্পাদক / টুল আছে ভুলবেন না। এক্সপথ অনুসন্ধানগুলি, স্কিমা বৈধকরণ, রূপান্তরকরণ, মান বনাম কাঠামো তুলনা (একটি বিশেষ ধরণের ডিফ সরঞ্জাম যা আমি অনুমান করি) ইত্যাদি কার্যকর করতে পারে ইত্যাদি ... হাইলাইট সহ সাধারণ সম্পাদকেরা যখন বিষয়গুলি অগোছালো হয়ে যায় তখন কেবল এটি কাটা যায় না - তারা প্রায়শই জিনিসগুলি তৈরি করে আরও খারাপ (বিটিডব্লু আমি আপনার এক্সএমএল কোড পছন্দ করি))।
হতাশ

37

নিয়মিত অভিব্যক্তি

তারা ঠিক তাই দরকারী। লগ ফাইলগুলি অনুসন্ধান করার সময়, পাঠ্যকে পার্সিং করার সময় এগুলি সহায়তা করে They এগুলি কেবল অত্যন্ত কার্যকর।

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


8
মনে রাখবেন যে নিয়মিত এক্সপ্রেশনগুলি কোনও সুইস সেনা ছুরি নয় যদিও তারা সঠিকভাবে প্রয়োগ করার সময় দুর্দান্ত হয়।
এন্টো

10
চূড়ান্তভাবে দরকারী - তবে প্রায়শই গালি দেওয়া হয়, যা ক্রিপ্টিক অচিন্তনীয় কোডের দিকে নিয়ে যায়। পুরানো "এখন আপনার দুটি সমস্যা আছে" বলার বাস্তবতার কিছু ভিত্তি রয়েছে।
স্টিভ 314

4
RegExes একটি সুইস সেনা ছুরি: পুরো ঘর নির্মাণের জন্য সম্ভবত সঠিক সরঞ্জাম না হলেও প্রচুর দ্রুত কাজের জন্য একটি পর্যাপ্ত সরঞ্জাম।
জেসনট্রু

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

আমি উভয় ঘটনা দেখেছি: রেজেক্স? এখানে স্টাফগুলি অপঠনযোগ্য / ধীর / সন্নিবেশিত ছদ্মবেশী এবং "একটি রেইজেক্সের মাধ্যমে পার্স করার (সম্পূর্ণ নিয়মিত ব্যাকরণ সন্নিবেশ করানোর) সেরা উপায় কী?"
জেসনট্রু

24

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

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


ভাল দলের সঙ্গী কখনও মূল্যবান হতে পারে না। বেশিরভাগ সফ্টওয়্যার এবং হার্ডওয়্যার পারেন।
বেনামে টাইপ

19

গুগল। খুব কম সমস্যা রয়েছে যা ইতিমধ্যে সমাধান এবং নথিভুক্ত করা হয়নি। একটি সুরক্ষিত গুগল ক্যোয়ারী প্রত্যেককে অনেক সময় বাঁচাতে পারে।


13
একটি ভাল সরঞ্জাম তবে আমি নিশ্চিত নই যে আমি এটিকে অবমূল্যায়ন বলব, কমপক্ষে আর না (সম্ভবত আমি 9 বা 10 বছর আগে রাজি হয়েছি)।
হতাশ

12
আমি দুঃখিত, তবে গুগল অবজ্ঞাপিত? খুব কম সময়ে গুগল
অত্যুক্তিযুক্ত

2
আমি জানি আমি জানি! তবে এটাকে অবমূল্যায়ন করার জন্য আমার যুক্তিটি হ'ল আমি সন্দেহ করি যে আপনি তাতে সম্মত হবেন: স্ট্যাকওভারফ্লোতে জিজ্ঞাসা করা প্রশ্নাগুলির কমপক্ষে 75% গুগলের সাথে সহজেই উত্তরযোগ্য, হ্যাঁ? স্পষ্টতই, যদি কিছু লোক এটি ব্যবহার না করে তবে এটি কিছুটা অবমূল্যায়ন করা। যদি আমার যুক্তি ত্রুটিযুক্ত হয় তবে আমি আমার উত্তরটি মুছব।
অ্যাডাম ক্রসল্যান্ড

3
@ অ্যাডাম ক্রসল্যান্ড: 75% দয়ালু হচ্ছে। আমি মনে করি এটি এর চেয়ে বেশি।
এসলট

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

16

দূরে এবং "বাধা" সন্ধানের জন্য সর্বাধিক নির্ধারণযোগ্য সরঞ্জাম হ'ল Ctrl+ Cবা "বিরাম" বোতামটি একটি ডিবাগারে।

আরম্ভকারীদের জন্য এই পোস্টের শেষ অনুচ্ছেদটি এবং এই পোস্টটি এবং এই পোস্টটি দেখুন

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

হ্যাঁ, এটি ডাউন-টোপ, তবে এটি কার্যকর।


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

@ ক্রিস্টফ: এটি ভাবতে প্ররোচিত হয়, এবং এমন সমস্যা রয়েছে যা এটি পরিচালনা করতে পারে না, এবং এমন কিছু ঘটনাও পাওয়া যায় যেখানে নমুনাগুলি পাওয়া সহজ হয় না, তবে প্রোফাইলাররা জুমের মতো কোনও নির্দিষ্ট ধরণের ব্যতীত এই মামলাগুলি পরিচালনা করতে পারে না either , এবং তারপরেও তারা আপনাকে সমস্যা থেকে ডেকে আনার ক্ষেত্রে বাস্তবে আরও ভাল নয় not
মাইক ডুনলাভে

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

14

আপনি কোন ধরণের প্রোগ্রামিং সরঞ্জামকে সবচেয়ে কম মূল্যায়ন বলে মনে করেন? আপনার উত্তর প্রেরণা।

সংকলক

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


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

@ ম্যাথিউ এম এটিও একটি ভাল বিষয়। অনেকে আপনাকে এর সহজ উপায়গুলি ভুলে যায়।
kemiller2002

3
প্রতিটি সংকলক সতর্কতা একটি মূল্যবান উপহার। তাদের উপেক্ষা করবেন না! আরো জন্য অনুরোধ! -যুগল বাধ্যতামূলক করা উচিত।
ক্রিস্টফ প্রোভস্ট

@ ক্রিস্টফ: -pedantic -Wall -Wextra -Werror... যদিও তখন কোনও কিছু তৈরি করা শক্ত হয়ে উঠতে পারে: পি
ম্যাথিউ এম।

সম্ভবত এটি কেবল আমিই, তবে "ডিভসের অর্ধেক" যদি "ডিবাগ প্রতীকগুলি সম্পর্কে কী জানেন না" অতিরঞ্জিত না হয় তবে এটি যথেষ্ট
উদ্বেগজনক

10

আপনার মস্তিষ্ক. এটি ছাড়া অন্য সরঞ্জামগুলির খুব বেশি অর্থ হবে না।


4
আমি আমার বেশিরভাগ উপলক্ষে অনিবার্যভাবে রেন্ডার করেছি।
ডেভিড থর্নলি

3
"কমবেশি ভুলে গেছেন": -এস

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

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

1
কিছু মন্তব্য আমাকে আমার মতে পরিবর্তন পেয়েছিলাম +1 :)
Anto

10

পুরানো ভাল:

print

কখনও কখনও একটি ডিবাগার বা প্রোফাইলার বা একটি ইউএমএল ফ্লো ডায়াগ্রাম দরকারী। এবং কখনও কখনও তারা আপনাকে পাগল করে তোলে। আমি সর্বদা প্রিন্ট স্টেটমেন্টগুলি (বা ট্রেস বা এনএসলগ বা আপনার কী আছে) ব্যবহার করে নিজেকে পিছিয়ে যেতে দেখি যে আমার কোডটি এটি করছে যা আমি মনে করি এটি এটি করছে যখন আমি মনে করি এটি এটি করছে কি না।


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

8

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


1
দেখুন .. আমি এই এক সাথে একমত হবে। হ্যাঁ, স্ক্রিপ্টগুলি কিছু কাজ স্বয়ংক্রিয় করতে পারে। তবে প্রায়শই এগুলিকে বিন্দু থেকে অনেক দূরে নিয়ে যাওয়া হয় যেখানে তারা কেবল স্প্যাগেটির বড় পাইক হয়ে যায়।
বিলি ওনিল

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

@ বিলি ইউজেন পাইথন। স্প্যাগেটি সমস্যার সমাধান হয়েছে :)
ইভান প্লেস

7

পেন এবং হোয়াইটবোর্ড

কিছু বোঝানোর চেষ্টা করার সময় আপনি লো টেককে বীট করতে পারবেন না।



সদৃশ উত্তর হতে পারে তবে এটি হোয়াইটবোর্ডের জন্য আমার পৃথক পৃথক ভোট উপার্জন করে।
কার্সন মাইয়ার্স

হুম, বেশ নিশ্চিত যে আমি এটি তৈরি করার সময় এটির সদৃশ ছিল না very আমি এটিকে পেন এবং হোয়াইটবোর্ডে পরিবর্তন করব।
অ্যান্ডি লোরি


5

পার্ল এবং অন্যান্য স্ক্রিপ্টিং ভাষা। এজেন্ট র্যানস্যাকের মতো জিইউআই সরঞ্জামগুলির জন্য যা কিছুটা জটিল tasks


1
আমি নিশ্চিত তারা underestimated হয় করছি ...
Anto

3
অবশ্যই অবমূল্যায়িত ... বিস্তারিত পার্ল ecially এটা ল্যাং। জিনিসগুলি সরল আদর্শের সাথে রাখা খুব ভালভাবে ডিজাইন করা হয়েছে ... যেমন দ্রুত কাজগুলির জন্য এটি অমূল্য যা কেবল সম্পন্ন করা দরকার।
রুক

@ রুক: আমি নিশ্চিত নই যে 100 টিরও বেশি অপারেটর সহ একটি ভাষা কীভাবে "সরল" হিসাবে বিবেচিত হতে পারে। দরকারী, সম্ভবত। তবে "সরল" নয়।
বিলি ওনিল

@ বিলি - সরল ক্ষমতাবানকে বাদ দেয় না। আমি ক্যালকুলেটরগুলি সহজ খুঁজে পাই। আমি জানি না যে খনিতে 300 টির মধ্যে অর্ধেকটি কী করে তবে এটি তার সরলতা হ্রাস করে না।
রুক

4

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

সুতরাং সাধারণত, ভাল সরঞ্জামগুলি (আইডিই / সম্পাদক) ব্যবহার করুন এবং কীভাবে তারা সরবরাহ করেন তার বেশিরভাগ বৈশিষ্ট্য কীভাবে পাবেন তা শিখুন।

আপনার কোড টেস্টেবল রাখার জন্য এবং রিফ্যাক্টরিংয়ের আশঙ্কা রোধ করতে ইউনিট টেস্টিং এবং টিডিডি পরবর্তী আসে।

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


4

ইউনিট টেস্টিং নিম্নলিখিত সুবিধা দেয়:

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

4

কোড জেনারেটর

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

কোড জেনারেটিং সমর্থনটি এখনও প্রোগ্রামার এবং কাঠামোর দৃষ্টিকোণ থেকেই তার শৈশবকালীন মনে হয়েছে, তবে আমি বিশ্বাস করি এটি এমন একটি বিষয় যা আমরা আরও বেশি করে দেখব। ইন .NET আপনার সাথে dabbling শুরু করতে পারেন CodeDOM স্টাফ।


আমি কোড জেনারেটর লিখতে চাই, ডান পেতে সবচেয়ে সহজ জিনিস না, তবে ওহ এত দরকারী।
জাচারি কে

3

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


3

আনুষ্ঠানিক পদ্ধতি।

http://www.amazon.com/Discipline-Programming-Edsger-W-Dijkstra/dp/013215871X

http://www.amazon.com/Science-Programming-Monographs-Computer/dp/0387964800/ref=pd_sim_b_1

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

তবে কিছু মনে হয় এলোমেলোভাবে অনুমান করা যায়। তাদের আরও সহায়তা প্রয়োজন এবং আনুষ্ঠানিক পদ্ধতিগুলি তাদের ধরণের সাহায্যের হতে পারে।

কোডের জন্য এটি কেবল বীজগণিত (এবং ক্যালকুলাস)। খুব জটিল বা পরিশীলিত কিছুই নয়।


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

3

সূর্যের আলো এবং তাজা বাতাসে দ্রুত দৌড়ানোর জন্য চেয়ার ছেড়ে যাওয়ার মতো শারীরিক নকশার নিদর্শনগুলি আমাদের মস্তিষ্ককে চরম শিখায় রাখে।


3

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


3

স্ট্যাক ওভারফ্লো - আপনি আটকে থাকলে দ্রুত বিশেষজ্ঞের সহায়তা

পেশাদার এবং উত্সাহী প্রোগ্রামারদের জন্য প্রশ্নোত্তর সাইট। এটি প্রশ্নোত্তর সাইটগুলির স্ট্যাক এক্সচেঞ্জ নেটওয়ার্কের অংশ হিসাবে আপনার দ্বারা নির্মিত এবং পরিচালিত। আপনার সহায়তায়, আমরা প্রোগ্রামিং সম্পর্কিত প্রতিটি প্রশ্নের বিস্তারিত উত্তরের একটি গ্রন্থাগার তৈরি করতে একসাথে কাজ করছি ...


+1, তবে সত্যিই আর অবমূল্যায়িত নয়
এমএকে

4
এমনকি একাধিক ক্ষেত্রে, অথবা অন্তত overused
Anto

3

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


2

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

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

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


একমত। তবে দুর্ভাগ্যক্রমে সহজ, তবু দক্ষ, এই জাতীয় সরঞ্জামগুলি প্রায়শই অল্পবিস্তৃত হয়।
পিটার মর্টেনসেন

2

এফ 1 কী। - আপনি জানেন না এমন প্রোগ্রামগুলির জন্য এবং আপনি যে প্রোগ্রামগুলিতে কাজ করছেন তার জন্য দরকারী। (ধরে নিচ্ছি এটি একটি বড় অ্যাপ্লিকেশন))

ইস্যুগুলি ফিল্টার আউট করা শক্তিশালী ছিল ব্যবহারকারীরা কীভাবে সফ্টওয়্যারটির কাজ করা উচিত তার ব্যাখ্যার ভিত্তিতে বাগগুলি প্রতিবেদন করেছিলেন। অবশ্যই, এটি নকশা নিজেই ত্রুটিযুক্ত হতে পারে। তবে এটি অন্য গল্প।


2
উভয়ই অবমূল্যায়িত এবং নিম্নচাপযুক্ত।
বেনামে টাইপ

আপনি এখনই যে অ্যাপ্লিকেশনটি ব্যবহার করছেন তা বিকাশকারীদের দ্বারা খুব অল্পই বিবেচিত; যেমন সাহায্যে কোনও কার্যকর তথ্য থাকে না।
poke

2

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


2

কৌতুহল

এটিকে "প্রোগ্রামিংয়ের ধাঁধা" বলুন। যে সরঞ্জামটি চালিত করে তার তুলনায় একটি সরঞ্জাম কী? কীভাবে এবং কেন কিছু কাজ করে বা কী করে না তা জানার আকাঙ্ক্ষা কোনও নির্দিষ্ট সরঞ্জামের চেয়ে নিজের জ্ঞানকে প্রসারিত করে এবং এটি প্রোগ্রামিংয়ের বাইরেও সত্য।


2
Ctrl + C    
Ctrl + V

বিশ্বব্যাপী অগণিত ঘন্টা সঞ্চয়!


1

লেজ

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

উদাহরণ প্রোগ্রামগুলি হল;


ম্যাক ওএস এক্স একটি ইউএনআইএক্স সিস্টেম। এটির আলাদাভাবে উল্লেখ করার দরকার নেই।
ডানফোন

0

আমি একবার পার্ল কল গ্রাফ জেনারেটর একসাথে কুলড করেছিলাম। এটি অত্যন্ত কার্যকর ছিল, তবে প্রক্রিয়াবিহীন কোড বা ফাইলের বাইরে থাকা রুটিনগুলিতে কঠোরভাবে পড়েছিল।

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