একটি ছোটখাটো পরিবর্তন করা হচ্ছে, এটি পরীক্ষা করে, তারপরে "ধুয়ে ফেলুন এবং পুনরায় পুনরুদ্ধার করুন", একটি খারাপ অভ্যাস?


54

আমি বেশ কয়েক বছরের অভিজ্ঞতা সহ একটি প্রোগ্রামার। আমি বুঝতে পারি আমার একটা নির্দিষ্ট অভ্যাস পেয়ে গেছে। এটি সত্যই খারাপ অভ্যাস কিনা তা আমি নিশ্চিত নই।

সমাধানের জন্য সম্পাদনের জন্য আমি কার্যগুলির একটি তালিকা পেয়েছি, এমনকি ছোট ছোট কাজও, উদাহরণস্বরূপ,

  1. এই ব্যবহারকারীর নিয়ন্ত্রণের সংস্থানসমূহ পরিবর্তন করুন
  2. অন্য একটির আকার পরিবর্তন করুন
  3. অন্য কোনও ব্যবহারকারী নিয়ন্ত্রণে কিছু HTML এবং কোডিং যুক্ত করুন

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

বা আমি কি একবারে সেগুলি সম্পাদন করব এবং তারপরে তাদের এক সাথে পরীক্ষা করব?

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



3
@ আপনার শীর্ষের ভোট দেওয়া উত্তরটিও মতামত ভিত্তিক - প্রোগ্রামার্স.স্ট্যাকেক্সেঞ্জার / প্রশ্নস / ১৫৪73৩৩/২ আমি যে প্রতিটি উত্তর পড়েছি তা সেখানে নিজস্ব মতামত, কোনও মন্তব্য দিচ্ছে?
গণিত

2
এইটা সেইটা না. আপনার দ্বিতীয় সর্বোচ্চ ভোট দেওয়া উত্তর সম্পর্কে কীভাবে - প্রোগ্রামার্স.স্ট্যাকেক্সেঞ্জার / প্রশ্নস / 159964/… - এটিও মতামত ভিত্তিক নয়?
গণিত

7
পদ্ধতির পরীক্ষা চালিত বিকাশের অনুরূপ মনে হয় যেখানে আপনি একটি পরীক্ষা তৈরি করেন, পরীক্ষাটি পাস করার জন্য প্রয়োজনীয় পরিবর্তনগুলি করেন, তারপরে আপনার পরীক্ষাগুলি চালান। আপনি যখন এটি দ্বিতীয় পরীক্ষার জন্য পুনরাবৃত্তি করেন, তখন আপনার দ্বিতীয় পরীক্ষার প্রথমটিতে অন্তর্ভুক্ত থাকে; এটি এখনও কার্যকর হয় তা প্রমাণ করার জন্য আপনি বার বার চেষ্টা করে যাবেন তবে এটি স্বয়ংক্রিয়।
কেভিন হগ 14

5
আমি বলব যে অভ্যাসের বিপরীত, একগুচ্ছ পরিবর্তন করা এবং কেবল তখনই এটি পরীক্ষা করা খারাপ অভ্যাস।
ক্রিস বি বেরেনস

উত্তর:


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

9
আফাইক, ইউআই প্রোগ্রামিংয়ের জন্য, এটি কেবল ভাল অনুশীলনই নয়, এটি একমাত্র গ্রহণযোগ্য অনুশীলন। এটা কেন সফটওয়্যার কোম্পানি এত তৈরি করেছি What you see is what you getএইচটিএমএল, সিএসএস, উইজেট, ইত্যাদি সঙ্গে কাজ ডেভেলপারদের জন্য টুলস ...
InformedA

38

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

আপনার যদি 10 টি আইটেম সহ কোনও টাস্ক লিস্ট থাকে এবং আপনি সেগুলি একবারে করেন এবং তারপরে পৃষ্ঠাটি পরীক্ষা করে দেখুন এবং পৃষ্ঠাটি ভুল দেখাচ্ছে বলে মনে হচ্ছে, কোন পরিবর্তনটি পৃষ্ঠাটি ভেঙেছে তা জানা আরও কঠিন হতে পারে ।

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


18

আপনার প্রশ্নের দুটি অংশ রয়েছে:

  1. আমি কি একবারে সমস্ত সম্পাদন করব এবং তারপরে তাদের একসাথে পরীক্ষা করব?

    আমি ধরে নিয়েছি আপনি একটি ভিসিএস ব্যবহার করছেন ।
    এবং ট্র্যাক করার জন্য, কোন কাজগুলি করা হয়েছিল তা কার্যকারিতার তালিকাকে কাজের তালিকাটি বিতরণ করার অর্থবোধ করে: একটি কাজ, একটি অঙ্গীকার

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

    উত্তরটি ক্লিয়ার হয়:

    না, একের পর এক পরিবর্তন করুন - একটি কাজ একটি প্রতিশ্রুতিবদ্ধ

  2. তবে আমি ছোট ছোট পরিবর্তনগুলি করার একটি খারাপ অভ্যাস পেয়েছি এবং তারপরে আবার ওয়েব ব্রাউজারে তাদের পরীক্ষা করি, এটি কি ভাল অভ্যাস?

    কোড / ইউআই যা কিছু পরীক্ষা করা ভাল অভ্যাস , তবে ব্রাউজারে বারবার এটি করা বাজে কথা। আপনার জন্য স্বয়ংক্রিয়ভাবে এটি করার জন্য সরঞ্জাম রয়েছে ( সেলেনিয়াম, ফ্যান্টমজেএস / ক্যাস্পার, জেমোবিজেএস )

    এই মামলার উত্তর:

    হ্যাঁ, সফটওয়্যারটি একাধিকবার পরীক্ষা করা ভাল অনুশীলন, তবে অটোমেশন ব্যবহার করুন


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

একটি কাজ নিশ্চিত করে যে
ভিসিএস লগকে

আপনি কতটা সূক্ষ্ম দানাদার কাজটি নির্ধারণ করেন তা নির্ভর করে;) বা আপনি যদি চান: একটি "টিকিট" একটি কমিট / শাখা। গিট ব্যবহার করা এটিকে সহজ করে তোলে
টমাস জাঙ্ক

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

@ স্ক্রাগার হ্যাঁ অটোমেশন রিগ্রেশনস্টেস্টিংয়ের জন্য।
টমাস

6

বিকাশকারী যে কোনও অভ্যাসের জন্য দুটি প্রধান প্রশ্ন থাকতে পারে:

  1. এটি আপনার তৈরি কোডের গুণমানকে কীভাবে প্রভাবিত করবে?
  2. এটি কীভাবে আপনার উত্পাদনশীলতার উপর প্রভাব ফেলে?

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

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

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

অতএব - যদি না আপনার কাজের 90% সত্যিই ছোট পরিবর্তনগুলি না করে - এটি থাকা একেবারে সূক্ষ্ম অভ্যাস। যদি আপনার কাজের দিনটি এর মতো হয় তবে সম্ভবত আপনি নিজের কাজের শৈলী (বা কাজের জায়গা) পর্যালোচনা করতে চাইতে পারেন।


4

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

তবে, সত্যিকারের বড় প্রকল্পগুলির জন্য যেখানে আপনাকে কোডটি সংকলন করতে হবে এবং নেওয়া সময়টি নন-তুচ্ছ (বেশ কয়েক মিনিট), এর ফলে অনেকটা ডাউন ডাউন হতে পারে তাই আপনাকে প্রায়শই অবলম্বন করতে হয়:

  • আপনার কাজের প্রবাহকে "সমান্তরাল" করে (যেমন একসাথে একাধিক বিল্ডে কাজ করা), বা
  • একসাথে যতটা সম্ভব জিনিস করুন, বা
  • কাজ করার জন্য একটি ছোট স্বতন্ত্র অংশ তৈরি করুন এবং পরে আরও বড় প্রকল্পে সংহত করুন।

(সম্ভবত অন্যান্য উপায়ও রয়েছে))


এটি সরাসরি ব্রাউজারে করার জন্য +1। আমি প্রায়শই ব্রাউজারে সিএসএসের টুইটগুলি করব যা আমি করতে আসছি তার আসল কাজটির প্রোটোটাইপটিকে ফেলে দিন।
রাবারডাক

0

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

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