কীভাবে আপনার নিজের কোড পরীক্ষা করা উন্নত করবেন [বন্ধ]


12

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

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

সুতরাং, এখন আমি আপনাকে বলছি: আপনার কোডটি পরীক্ষা করার সময় আপনার কি কিছু ভিত্তি রয়েছে?


উত্তর:


17

কোড পরিবর্তন করার আগে পরীক্ষা লিখুন।

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

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


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

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

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

এই যেমন একটি দুর্দান্ত পরামর্শ বন্ধু, আপনাকে অনেক ধন্যবাদ!
শাহির

@ অ্যালব বা স্বল্প সময়েও।

3

প্রান্ত মামলা পরীক্ষা করতে ভুলবেন না! প্রচুর ব্যাগ হ'ল কারণ সর্বাধিক প্রচলিত ক্রিয়াটি পরীক্ষা করা হয়েছিল তবে কম সাধারণ ছিল না।


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

2

প্রযুক্তিগত ভিত্তিক উত্তরগুলিতে প্রযুক্তিগত পরামর্শ অনুসরণ করুন; এটা ভাল জিনিস। আমার উত্তর মনোভাব সম্পর্কে আরও।

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

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

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

যদি আমি কাজ করি এমন প্রতিটি বিকাশকারীকে যদি আমি মন্ত্র তৈরি করতে পারি তবে এটি হ'ল: আপনি আপনার কোড নন । আপনি কোড লিখুন। আপনি এটি হিসাবে ভাল এবং দক্ষতার সাথে লিখতে পারেন। তারপরে তুমি বাড়ি যাও। যদি আপনি আপনার কোডের মান সহ কোনও ব্যক্তি হিসাবে নিজের মূল্য বা স্ব-মূল্যকে সমান করেন তবে আপনি আসলে কে সে সম্পর্কে আপনি নৌকাটি হারিয়ে ফেলছেন।


আমি বুঝতে পারছি তুমি প্রকাশ্য shaming সম্পর্কে কী বলে, কিন্তু একই সময় এটা হতাশাজনক ব্লক করা কারণ বিল্ড কারণ জো Bloggs চেক সামনে সব প্ল্যাটফর্মের য়েগুলো তৈরী করো নি নষ্ট হয়ে গেছে এ।
tenpn

@tenpn - সম্পূর্ণ তবে আমি যা বলছি তার ফ্লিপসাইড জো ব্লগস সম্পর্কেও সত্য। সেও তার কোড নয়। সহকর্মী হিসাবে, জোকে আমাদের চোখে বোকা বানানোর আবেগকে আমাদের প্রতিহত করতে হবে কারণ তিনি যে ভুল করেছিলেন যে আমাদের যে কেউ ভুল করতে পারে।
ড্যান রে

@tenpn আসলে, আপনি ট্রাঙ্ক / মাস্টারের পরিবর্তনগুলি করার আগে বিল্ডটি স্বয়ংক্রিয়ভাবে পরীক্ষা না করার জন্য সিস্টেমকে দোষ দিতে পারেন।
ডেভিড

2
@tenpn - আপনার সহকর্মীদের কেউই মারছে না।
ড্যান রে

1
পরিবর্তন যদি বিল্ডটি না ভাঙে? আপনার কোডটি চেক ইন করার আগে তৈরি করা সাধারণ জ্ঞান। আপনার কোডটি প্রতিটি সম্ভাব্য উপায়ে পরীক্ষা করা এত স্পষ্ট নয়। আপনি সবসময় কিছু দৃশ্য থাকতে পারে না। ঠিক আজই আমি একটি ভাসমান পয়েন্ট গোলাকার ত্রুটির দিকে দৌড়েছি যা কেবল তখনই ঘটে যখন আপনি সঠিক (ভুল) নম্বর পেয়েছেন
পিটার

2

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


0

আমি সময়ে সময়ে একটি আইডিয়া ব্যবহার করেছি এটি হ'ল

একটি শাখা তৈরি করুন এবং আপনার কোডটি ভঙ্গ করুন, পরীক্ষা চালান এবং পরীক্ষাটি ত্রুটিটি ধরা পড়েছে তা নিশ্চিত করুন।


0

আপনার কোডটি পরীক্ষা করার সময় আপনার কি কিছু ভিত্তি রয়েছে?

  • সর্বদা আপনার কোড পরীক্ষা করুন এবং যতটা সম্ভব উচ্চ কভারেজ পৌঁছানোর চেষ্টা করুন।

কিছু অতিরিক্ত সাধারণ পয়েন্ট:

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