কোডিং করার সময় কীভাবে বাগের সংখ্যা হ্রাস করবেন?


30

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


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

উত্তর:


58

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

উপলব্ধ গ্রন্থাগারগুলি ব্যবহার করুন। কোনও ইউটিলিটি রুটিন লেখার জন্য বাগ না রাখার সহজ উপায় হ'ল এটি না লিখে।

আরও জটিল স্টাফের জন্য কয়েকটি আনুষ্ঠানিক কৌশল শিখুন। জটিল পরিস্থিতি থাকলে, তাদের কলম এবং কাগজ দিয়ে পেরেক দিন। আদর্শভাবে, কিছু প্রমাণ কৌশল জানুন। আমি যদি কোডটি সঠিক প্রমাণ করতে পারি তবে বড়, বোবা, সুস্পষ্ট বাগ বাদে এটি প্রায়শই ভাল that স্পষ্টতই, এটি কেবল এতদূর চলে যায় তবে কখনও কখনও আপনি আনুষ্ঠানিকভাবে ছোট কিন্তু জটিল জিনিসগুলি সম্পর্কে तर्क করতে পারেন।

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

খুব তাড়াতাড়ি কিছু করবেন না। জিনিসগুলি ঠিকঠাক করার জন্য সামনের দিকে কিছুটা সময় নেওয়া, আপনি কী করেছেন তা যাচাই করার জন্য এবং আপনি কী করছেন সে সম্পর্কে চিন্তাভাবনা করার পরে পরে বড় সময় দেওয়া যায়।

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

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


এক্স 2 - রায়ান যা বলেছিল।
জেবিআরউইলকিনসন

2
এছাড়াও বেশিরভাগ ভাষা কম-বেশি পছন্দসই হতে পারে। আপনি এটি যতটা সম্ভব পিক হতে চান।

1
"আরও জটিল জিনিসগুলির জন্য কয়েকটি আনুষ্ঠানিক কৌশল শিখুন" "... উদাহরণস্বরূপ?
ড্যান রোজনস্টার্ক

1
@ ইয়ার: আমি এই বইটিতে বর্ণিত সিস্টেমগুলির মতো কিছু প্রত্যাশা করছি: amazon.com / যাচাইকরণ- সিক্যুয়েন্সি- সাম্প্রতিক- প্রোগ্রামগুলি- কম্পিউটার /… ; যদিও আমাকে বলতে হবে যে সুনির্দিষ্ট বইটি অত্যন্ত শুকনো এবং নিস্তেজ, তাই সম্ভবত সেখানে আরও ভাল বই রয়েছে (তবে এটি আমি কেবল পড়েছি)।
জোয়েরি সেব্রেচটস

30

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


3
"সামনে সমস্ত মামলার চিন্তাভাবনা" পরিষ্কার, সম্পূর্ণ-নির্দিষ্ট ইন্টারফেসগুলিতে নিয়ে যায় যা কেবলমাত্র ভাল জিনিস হতে পারে। ইউনিট পরীক্ষাগুলি লিখতে কেবল শক্ত যদি আপনি সেগুলি কোডে পুনরায় প্রেরণ করেন যা পরীক্ষার কথা মাথায় রেখে তৈরি করা হয়নি।
মাইক সিমুর

1
আপনি যদি পারেন, আপনার উচিত। দুর্ভাগ্যক্রমে, বেশিরভাগ জায়গায় আমি ইউনিট পরীক্ষাগুলি এমন কিছু হিসাবে দেখেছি যার জন্য "বাগগুলি সত্যিই দ্রুত ঠিক করা" এর চেয়ে বেশি ব্যয় হয়। সুতরাং, যদি আপনি পারেন তবে আপনার সামনে পরীক্ষা করা উচিত, তবে এটি যদি "ব্যয়-কার্যকর" হিসাবে দেখা না যায় তবে বাগ ফিক্সের পাশাপাশি এগুলি লিখলে আপনাকে কেবলমাত্র ইউনিট পরীক্ষাগুলি লেখার দিকে বাজেটের বেশি পরিমাণ না রেখে সময়ের সাথে এটি তৈরি করতে সহায়তা করে helps ।
রায়ান হেইস

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

9

উভয় ইউনিট পরীক্ষার মন্তব্যে +1।

এর বাইরে আপনার সংকলক অফারের সর্বোচ্চ সতর্কতা স্তর নির্ধারণ করুন এবং সতর্কতাগুলি ত্রুটি হিসাবে বিবেচিত হবে তা নিশ্চিত করুন। বাগগুলি প্রায়ই এই "ভুল" ত্রুটিগুলিতে লুকিয়ে থাকে।

একইভাবে, স্থির বিশ্লেষণ সরঞ্জামগুলিতে বিনিয়োগ করুন যা সংকলন সময়ে চালিত হয় (আমি এগুলি সংকলক সতর্কতার অতিরিক্ত স্তরের হিসাবে দেখি)।


স্থির বিশ্লেষণ মন্তব্যের জন্য +1। এটা তোলে বিনামূল্যে জন্য :) যে সব তথ্য পেতে অমূল্য
Morten জেনসেন

9

যা উল্লেখ করা হয়েছে তা ছাড়াও:

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

এই মুহুর্তে আমি প্রচুর অন্যান্য জিনিস ভুলে যাচ্ছি তবে অন্যরা অবশ্যই সেগুলি ভেবে দেখবে। :)


7
এবং আপনি যদি নিশ্চিত হন যে শর্তটি X কখনই ঘটবে না ... একটি শর্তটি ব্যবহার করুন তা নিশ্চিত করার জন্য যে শর্ত এক্সটি ঘটে তখন আপনি এটি সম্পর্কে জানতে পারবেন (একটি ব্যতিক্রম বা লগিং বা যা কিছু হোক না কেন)।
ফ্রাঙ্ক শায়ারার

@ মেটালমিকেস্টার: ইউনিট পরীক্ষা ভাল tests তবে উচ্চ স্তরের ভাষা এবং ভাল লাইব্রেরি সহ, বেশিরভাগ হার্ড বাগের পেরেকটি করার জন্য ইন্টিগ্রেশন এবং রিগ্রেশন টেস্টিং প্রয়োজন।
ভেক্টর

9

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

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

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

পরিসংখ্যান যান, এই সমস্ত কিছু এছাড়াও কর্মক্ষমতা উপর ইতিবাচক প্রভাব আছে। উইন!


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

এটির জন্য ক্লান্তিকর হয়ে ওঠার জন্য আরেকটি বিবেচনা হ'ল সম্ভবত আপনি খুব বেশি রাজ্যের বাইরে যাওয়ার চেষ্টা করছেন। :)
ড্যাশ-টম-ব্যাং

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

8
  • কম কোড লিখুন যা আরও বেশি করে।
  • নিম্ন-স্তরের প্রভাবগুলি এবং উচ্চ-স্তরের পদক্ষেপগুলি সম্পর্কে চিন্তা করুন
  • আপনি আপনার কোডটিতে যে বিমূর্ততা তৈরি করছেন তা বিবেচনা করুন।
  • সম্ভব হলে কেবল প্রয়োজনীয় জটিলতাটি লিখুন।

আমি একটি বড় পোস্ট লিখতে যাচ্ছিলাম যা "কম লিখুন যে আরও বেশি করে" (আইডাব্লু আপনার কাছে উপলব্ধ সরঞ্জামগুলি জানতে এবং ব্যবহার করতে পারে) হিসাবে সমান হবে। আমি পরিবর্তে এটি +1 করব।
কাজ ড্রাগন

1
তবে কম কোড অর্জনের চেষ্টা করার সময় অভিনব কোডটি না পেতে সতর্ক হন।
গ্যাবলিন

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

8

সামান্য কম প্রযুক্তিগত উত্তর: আপনি ক্লান্ত হয়ে পড়ে প্রোগ্রাম করবেন না (9 ঘন্টা / দিন যথেষ্ট), মাতাল বা 'বেকড'। আমি যখন ক্লান্ত তখন ক্লিন কোড লেখার প্রয়োজনীয় ধৈর্য আমার নেই।


2
এটি বুঝতে বেশিরভাগ প্রোগ্রামারকে বেশ কয়েক বছর সময় লাগে। এটি একটি গুরুত্বপূর্ণ বিষয়।
জেফ ডেভিস

7

ইউনিট পরীক্ষা এবং সংহতকরণ পরীক্ষা লিখুন ।


5

ইউনিট টেস্টিং এবং সরঞ্জাম সম্পর্কিত কিছু দুর্দান্ত উত্তর। আমি কেবল তাদের সাথে যুক্ত করতে পারি এটি হ'ল:

যত তাড়াতাড়ি সম্ভব আপনার পরীক্ষকদের জড়িত করুন

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

  • তাদের পরীক্ষার পরিকল্পনাটি কী তা সন্ধান করুন। তাদের সাথে তাদের পরীক্ষার কেসগুলি পর্যালোচনা করুন - আপনি কি আপনার কোড দিয়ে সেগুলি সব কভার করছেন?
  • প্রয়োজনীয়তা তাদের বোঝার জন্য তাদের জিজ্ঞাসা করুন। এটা কি তোমার মতো?
  • তাদের উপর পরীক্ষামূলক পরীক্ষা করার জন্য প্রাথমিক কাজের বিল্ড দিন - তাদের পরামর্শ যে উন্নতি করবে তা দেখে আপনি অবাক হয়ে যাবেন।

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


4

স্ট্যাটিক বিশ্লেষণ সরঞ্জাম

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

পিএস: কোনও সরঞ্জাম আপনাকে কিছু খারাপ বলে কেন সবসময় তা গবেষণা করতে ভুলবেন না। শিখতে কখনই ব্যাথা দেয় না (এবং সব পরিস্থিতিতে সব কিছু ঠিক থাকে না)।


3

কোড পরিদর্শন বা পিয়ার পর্যালোচনার অন্যান্য ফর্মগুলি যেমন জোড় প্রোগ্রামিং।

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

কার্ল উইগার্স সফ্টওয়্যার-এর পিয়ার রিভিউস এই বিষয়টির একটি দুর্দান্ত বই।


2

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

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


2

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

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

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


1

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

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


1

আমি কোড-টেস্ট-কোড-টেস্টের পরিবর্তে টেস্ট-কোড-টেস্টের অনুশীলনটি অনুসরণ করি। এটি আমাকে ব্যবহারের ক্ষেত্রে চিন্তা করতে এবং যুক্তিটি যথাযথভাবে ফ্রেম করতে সহায়তা করে


1

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


1

আশ্চর্যের বিষয় হল, নিম্নলিখিত তিনটি অত্যন্ত গুরুত্বপূর্ণ বিষয় এখনও উল্লেখ করা হয়নি:

  • উদার উদারতা ব্যবহার করুন। আপনার যে প্রশ্নটি সর্বদা নিজেকে জিজ্ঞাসা করা উচিত তা হ'ল "আমি কি এটিকে জোর দেওয়া উচিত?" তবে "আমি এমন কিছু বলতে চাই যা ভুলে যেতে ভুলে গেছি?"

  • অপরিবর্তনীয়তা বেছে নিন। (চূড়ান্ত / পঠনযোগ্যভাবে উদারভাবে ব্যবহার করুন)) আপনার যত কম পরিবর্তনযোগ্য অবস্থা হবে, তত কম জিনিস ভুল হতে পারে।

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

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