টান অনুরোধে একটি টোডো কীভাবে পরিচালনা করবেন?


24

আমি যখন একটি টানার অনুরোধের পরিবর্তনগুলি পর্যালোচনা করি তখন আমি মাঝে মাঝে "টোডো" নোটের সাথে একটি মন্তব্যে হোঁচট খেয়ে যাই যা আমাদের ক্ষেত্রে বেশিরভাগ কারণে:

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

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


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

একটি গুরুত্বপূর্ণ বিষয় হ'ল, প্রশ্নে নির্দিষ্ট টোডো এমন কোনও প্রকৃতির যা লেখক ব্যতীত অন্য বিকাশকারীরা সমাধান করতে পারেন। আরেকটি বিষয় হ'ল সেই টোডোর ঝুঁকি বা প্রাসঙ্গিকতার কার্যত মূল্যায়ন করা - এটি কি কেবল নেকড়ে কাঁদছে?
rwong

আপনার কোড বেসে কয়েকটি টোডো থাকা মোটেই কোনও সমস্যা নয়।
অলিভার ওয়াটকিন্স

উত্তর:


26

আপনি যখন বলছেন যে তারা আপনার দল / বিভাগ / সংস্থায় "সাধারণত কোডবেসে আজীবন কোডবেজে থাকেন", নিম্নলিখিত বিষয়গুলি বিবেচনা করুন:

  • এটি আপনার লিখুন নিচে DoD যে TODO, FIXMEবা অনুরূপ ট্যাগ এড়িয়ে চলা উচিত।
  • বিল্ডটিকে অস্থিতিশীলভাবে স্বয়ংক্রিয়ভাবে চিহ্নিত করতে সোনারকিউবের মতো একটি স্থিতিশীল কোড বিশ্লেষণ সরঞ্জাম ব্যবহার করুন ।
  • আপনার ইস্যু ট্র্যাকারে যদি একই টিকিট থাকে তবে অস্থায়ীভাবে তাদের অনুমতি দিন। তারপরে, কোডটি দেখতে লাগতে পারেTODO [ID-123] Description ...

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

ব্যক্তিগতভাবে, আমি মনে করি TODOএর দ্বারা কখনও কখনও যুক্তিসঙ্গত, কিন্তু তাদের বেজায় ব্যবহার করা উচিত নয়। রবার্ট সি। মার্টিনের "ক্লিন কোড: অ্যাগ্রিল সফটওয়্যার ক্র্যাফটসম্যানশিপের একটি হ্যান্ডবুক" (পৃষ্ঠা 59) থেকে নেওয়া:

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


2
আপত্তিজনক টিকিট কি চিরকাল ব্যাকলগে থাকবে না? আমি টোডো এবং টিকিট দুটোই চিরতরে অমীমাংসিত অবস্থায় দেখেছি।
dzieciou

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

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

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

2
আমি মনে করি এটি ইস্যু ট্র্যাকারে যুক্ত করার উল্লেখটি এখানে মূল। আপনি যদি এটি করেন তবে এমনও হতে পারে যে লোকেরা আপনাকে এটি সম্পর্কে না জেনে এটি ঠিক করা শুরু করে। আমি এটি একটি সংস্থায় ঘটতে দেখেছি; সমস্যাগুলি কেবলমাত্র বাগগুলি, রিফ্যাক্টর কোড ইত্যাদি ঠিক করতে পছন্দ করায় কখনও কখনও সুন্দর ঝরঝরে হতে পারে।
প্রতি লুন্ডবার্গ

5

তাদের নিজেরাই খারাপ নয়। আমি এর চেয়ে বেশি এক স্তর আরও বেশি না যাওয়ার এক বড় ভক্ত এবং সর্বদা ট্র্যাকারের টিকিটে 1 টি সমস্যা ঠিক করে ফেলি।

আমি আমার নিজের প্রয়োজন মনে করি বা সমস্যা সমাধানের জন্য ফিরে আসতে চেয়েছি তা স্মরণ করিয়ে দেওয়ার জন্য আমি প্রায়শই টোডো বা ফিক্সএমই ব্যবহার করি।

উদাহরণস্বরূপ, আমি অ্যাড (এ, বি) যুক্ত করতে পারি এবং অ্যাড পদ্ধতিটি রিফ্যাক্টারে একটি টোডো যুক্ত করতে পারি। আমি এখন অ্যাড পদ্ধতিতে কাজ করতে চাই না, তবে আমি এটিতে ফিরে আসতে চাই।

সুতরাং একটি টান অনুরোধে আপনি টোডো বা ফিক্সএমএই দেখতে পাবেন। আমি উদাহরণস্বরূপ FIXME ব্যবহার করি কোডগুলির অন্যান্য বিভাগগুলির যে তাদের উপর দায়িত্ব রয়েছে সে সম্পর্কে সতর্ক করতে, যাতে আমার কোন ঝামেলা করা উচিত নয়। উদাহরণস্বরূপ FIXME অ্যাড নেতিবাচক সংখ্যা গ্রহণ করতে পারে না।

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

সমস্ত TODOs এমন 400 লাইন প্রতিশ্রুতি বার্তা উপেক্ষা করা শক্ত। সুতরাং ইতিমধ্যে প্রশ্নযুক্ত কোডটি স্পর্শ করার সময় বা নতুন টিকিট তৈরি করে এবং সমস্যার কোড স্ট্যান্ডেলোন ফিক্স করার মাধ্যমে লোকেরা এগুলি ঠিক করে।

ন্যায়সঙ্গতভাবে, আমি এটিও নিশ্চিত করি যে প্রতিটি প্রকল্পের কোড ক্লিন আপ সময় তৈরি হয়। হ্যাঁ 15 তম লঞ্চ করতে প্রস্তুত হতে পারে, তবে 15 থেকে 30 তারিখের মধ্যে কোড সাফ করছিলেন। (অদ্ভুত বলে মনে হচ্ছে তবে আপনি যদি কোনও পণ্য পরিচালনা করেন তবে আপনি জানেন যে আপনি যদি প্রি-লঞ্চের আগে কম দৃশ্যমান কাজ করার চেষ্টা করেন তবে আপনাকে কখনই সেগুলিতে যেতে দেওয়া হবে না else


1
আমি সম্মতি দিচ্ছি যে TODOসেগুলি প্রতি খারাপ নয়, তবে সেগুলি ব্যবহার করা প্রায়শই আমি শব্দকে বিবেচনা করব। আমি আরও মনে করি যে একটি 400 লাইন প্রতিশ্রুতি বার্তা সহজেই উপেক্ষা করা হবে কারণ লোকেরা এত বেশি পাঠ্য এড়িয়ে চলেছে। অধিকন্তু, অনেক গিট / ভিসিএস ফ্রন্ট্যান্ডেন্ডস (যেমন গিটহাব) একটি নির্দিষ্ট সংখ্যক অক্ষরের চেয়ে দীর্ঘতর যে কোনও বিষয় লাইন কেটে দেয়।
বেটঙ্গু 13

হ্যাঁ এটি আমার বক্তব্য, প্রায় 4-5 লাইনে লোকেরা এটি পরিষ্কার করতে চান। সুতরাং তারা টোডো করা শুরু করে। 400 লাইন একটি অত্যুক্তি ছিল।
কোটায়ার

আমি আগ্রহী যে স্ক্রিপ্টটি প্রতিশ্রুতি বার্তায় কীভাবে TODO যুক্ত করতে পারে।
সাইমন

আপনার সাথে বেঁধে রাখতে পারেন এমন একটি "কমিট-হিট" হুক রয়েছে।
কোটায়ার

1

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

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

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


1

যদি আপনার প্রকল্পটি TODOমন্তব্য সহ উত্স কোডে মুলতুবি আইটেমগুলি ট্র্যাক করে , তবে আপনাকে এটির অনুমতি দিতে হবে।

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

হাউস রুল # 1 - মাস্টারের সমস্ত প্রতিশ্রুতি পরীক্ষার জন্য প্রস্তুত হওয়া উচিত, যেহেতু মাস্টার কোনও চেক ইনগুলির পরে প্রতিদিন নির্মিত হয়। এই কমিটিগুলিতে প্রয়োজনীয় যে কোনও অতিরিক্ত পরীক্ষাও অন্তর্ভুক্ত করা উচিত।

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

হাউস রুল # 2 - খোলা ইস্যু সংক্রান্ত সমস্ত তথ্য ইস্যু ট্র্যাকারে সংরক্ষণ করা হয়। এটার সবগুলো. নোট, স্ক্রিবিবল, শিকার, যাই হোক না কেন।

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

হাউস রুল # 3 - প্রকল্পের মুলতুবি সংক্রান্ত সমস্ত তথ্য অগ্রাধিকার সারিতে (বা তার জন্য আপনার সিস্টেমের নাম যাই হোক না কেন) অন্তর্ভুক্ত।

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

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

বাড়ির বিধি # 4 - পরামর্শগুলি আইডিয়া বাক্সের (বা যা কিছু হোক) অন্তর্ভুক্ত।

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

হাউস রুল # 5 - TODOসোর্স কোডে মন্তব্যের অনুমতি নেই। সময়কাল।

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

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