আমি বিকাশকারীদের একটি ছোট দল পরিচালনা করছি। প্রতিবার প্রায়শই আমরা সিদ্ধান্ত নিই যে আমরা আমাদের কোড সাফ করার জন্য দু'একদিন ব্যয় করব।
নিয়মিত সময় নির্ধারণ করা, আমাদের কোডবেজ পরিষ্কার করার জন্য প্রতি 2 মাসের মধ্যে 1 সপ্তাহ বলুন কি ভাল ধারণা হবে?
আমি বিকাশকারীদের একটি ছোট দল পরিচালনা করছি। প্রতিবার প্রায়শই আমরা সিদ্ধান্ত নিই যে আমরা আমাদের কোড সাফ করার জন্য দু'একদিন ব্যয় করব।
নিয়মিত সময় নির্ধারণ করা, আমাদের কোডবেজ পরিষ্কার করার জন্য প্রতি 2 মাসের মধ্যে 1 সপ্তাহ বলুন কি ভাল ধারণা হবে?
উত্তর:
না।
আপনি এটিতে কাজ করার সময় এটি ঠিক করুন:
আমার ব্যক্তিগত মতামত: এটি 90% প্রকল্পের জন্য একেবারে প্রয়োজন ।
বিশেষত যে সমস্ত প্রকল্পগুলি বিক্রয় দ্বারা প্রচুর চালিত হয় তাদের জন্য প্রতিটি প্রকাশের ক্ষেত্রে নতুন বৈশিষ্ট্য অন্তর্ভুক্ত করার জন্য সাধারণত একটি বড় ধাক্কা রয়েছে এবং আপনি অবশ্যই আপনার আরও ভাল প্রবৃত্তির সাথে আপোস করতে পারেন এবং এখানে এবং কয়েকটা ক্লোজেজ / হ্যাক চালু করতে হবে।
শেষ পর্যন্ত আপনি এই সামান্য সমঝোতার মাধ্যমে পর্যাপ্ত 'প্রযুক্তিগত'ণ' অর্জন করেছেন যে আপনি কোড বেসের ত্রুটিগুলি নিয়ে কাজ করার জন্য যথেষ্ট পরিমাণ সময় ব্যয় করেছেন, এবং এটির পূর্ণ সম্ভাবনা ব্যবহার করতে অক্ষম।
সাধারণত এখানে দুটি ধরণের সমস্যা উত্পন্ন হয়:
আমি সাধারণত প্রতি 3 থেকে 4 চক্রে খাঁটি রিফ্যাক্টররিং / বাগ-ফিক্সিং চক্রের জন্য সময় সংরক্ষণ করার চেষ্টা করি। আমি সর্বদা আমার বিকাশকারীদের কোড কোডটি নিয়ে হতাশ বোধ করলে আমাকে বলার জন্য বলি। প্রতিটি বিকাশকারীকে ক্লিন-আপ প্রচেষ্টা নিয়ে কাজ করতে হয় না - আপনি সাধারণত (তবে সর্বদা নয়) দলগুলিকে কিছুটা আটকে দিতে পারেন, তাই কেবলমাত্র একটি দল কোনও নির্দিষ্ট সময়ে ক্লিন-আপে কাজ করছে।
আমার বিকাশকারীদের চেকইন (সাবভার্সন) করার আগে বা প্রধান বিকাশ শাখার (গিট) সাথে একত্রীকরণের আগে তাদের কোডটি পরিপাটি করে রাখছি।
আমি তাদের নিম্নলিখিতটি করতে চাই:
বড় প্রকল্পগুলির জন্য, কোডটি উন্নয়ন শাখা থেকে প্রধান শাখায় মার্জ হওয়ার আগে আনুষ্ঠানিকভাবে পর্যালোচনা করা হয়।
আমি মনে করি "সময় উত্সর্গ" এর অর্থ হ'ল এমন কিছু যা পিছিয়ে দেওয়া হতে পারে, বা জড়িত কাজের পরিমাণের কারণে তা বাতিল হয়ে যায়। বিকাশকারীরা প্রতি-চেকিনে এটি করে (যা জিরার পরিবর্তনের অনুরোধ / ইস্যুতে সমান) এটি অনেক বেশি পরিচালনাযোগ্য।
আমার মতে না। আপনি যখন কারিগরি debtণের মুখোমুখি হন এবং যখন আপনি এটি ঠিক করেন তখন আপনি যদি খুব বেশি সময় যেতে দেন তবে সমস্যাটি কী তা প্রসঙ্গে আপনি হারিয়ে ফেলেন। এটি ঠিক করতে আরও বেশি সময় নেয় এবং এটি আরও খারাপ হয়ে যায়। সবচেয়ে বড় কথা, লোকেরা ভাঙা উইন্ডো ছেড়ে দেয় কারণ এটি "সাফ সাপ্তাহে" নেই।
ব্যক্তিগতভাবে, আমি প্রতিটি স্প্রিন্টকে প্রযুক্তিগত debtণ সাফ করার জন্য আলোচনা করি যদি আমি জানি যে আমরা আগে স্প্রিন্টে কিছু তৈরি করেছি। এটি মানুষের মনে freshণকে সতেজ রাখে। এটি সমস্যা কোড ব্যবহার করে কোডের পরিমাণ সীমিত করে যাতে রিফ্যাক্টরিং সহজ হয়। এটি প্রযুক্তিগত debtণকে পাইলিং থেকে আটকায়। এবং এটি বিকাশকারীদের কেবল কিছু একসাথে চড় মারার ক্ষেত্রে ধাক্কা দিতে সহায়তা করে, কারণ আমি ঠিক তাদের পরবর্তী স্প্রিন্টে ঠিক করতে এটি করতে যাচ্ছি (যাতে এটি প্রথম স্থানেও করতে পারে)।
আমি অবশ্যই বলব হ্যাঁ, একটি প্রোভিসো সহ: এটি প্রায়শই করা উচিত, প্রায়শই সাপ্তাহিক ভিত্তিতে। আমি বিশ্বাস করি যে কোড পর্যালোচনা থেকে বেরিয়ে আসা আইটেমগুলিতে আসলে অভিনয় করার সাথে একটি নির্ধারিত নিয়মিত কোড পর্যালোচনা খুব দ্রুত পরিশোধ করে। PSWg এর উত্তর দেখুন
প্রতি 2 মাসে 1 সপ্তাহ অবশ্যই প্রায়শই যথেষ্ট হয় না। এটি অন্যান্য বেশিরভাগ প্রশ্নের সাথে কথা বলে যারা আপনার প্রশ্নের 'না' দিয়ে সাড়া দিয়েছিল। এগুলির বেশিরভাগ উত্তরের সংক্ষিপ্তসারটি হ'ল আপনি যদি খুব বেশি সময় অপেক্ষা করেন তবে আপনি আর কোডের সাথে যোগাযোগ করতে পারবেন না এবং সাধারণত এটি পরিষ্কার / পরিষ্কার / রিফ্যাক্টর নিতে অনেক বেশি সময় নেয়।
আপনি যদি একবার অতিরিক্ত ক্লিন-কোড অনুশীলনটি বোঝাতে চেয়েছিলেন তবে এটি পরিষ্কার নয়। এই অর্থে, হ্যাঁ আমরা কখনও যে অনুশীলনগুলি অনুসরণ করি, কিছু অবক্ষয় সর্বদা ঘটে।
আপনার প্রথমে সঠিক জিনিস [সলাইড নীতি প্রয়োগ, প্রাসঙ্গিক ইউনিট পরীক্ষা, পরিদর্শন ইত্যাদি] না করার অজুহাত হিসাবে ব্যবহার করা উচিত নয়।
আমি মনে করি বর্তমানে দুটি জনপ্রিয় "না" "হ্যাঁ" উত্তরগুলি একই সত্যের দুটি দিক। মনে রাখবেন যে ওপি এমন একটি গোষ্ঠী সম্পর্কে কথা বলছেন যা তিনি পরিচালনা করছেন, কেবল নিজেকে ব্যক্তি হিসাবে নয়। আমরা ধরে নিতে পারি না যে গোষ্ঠীর সমস্ত বিকাশকারী পরিষ্কার, সহজেই পঠনযোগ্য কোড লিখতে যথেষ্ট সুশৃঙ্খল; এবং সেখানে বাহ্যিক চাপ এবং চটপটে শৈলী পদ্ধতিগুলির সমস্যা রয়েছে। এছাড়াও, এমনকি মানুষের সর্বোত্তম প্রচেষ্টা সহ, শৈলীতে তাদের পার্থক্যগুলির অর্থ হল তারা কোড লিখতে পারে যা আলাদা হয়ে গেলে পরিষ্কার বলে বিবেচিত হবে, তবে অন্য ব্যক্তির সাথে একত্রে বিবেচিত হলে তা অপরিষ্কার হয় (কৌতূহলী ইন্টারফেসের উল্লেখ না করে)।
অন্যদিকে, "এটির উপরে কাজ করার সময় এটি ঠিক করুন" আমার মতে এটির জন্য আকাঙ্ক্ষার একটি আদর্শ। আপনি আপনার কোডটি আরও "স্থির আপ" করে আসতে পারেন
এখন, যদি ওপি'র দলটি উপরেরটি অবলম্বন করে এবং যদি তিনি তার অধস্তনদের - যেমন কোড পর্যালোচনার সময় এবং পর্যায়ক্রমিক কোড ক্লিন-আপ সেশনের সময় উত্সাহিত করেন - ক্ষতির সম্ভাবনাগুলি আগে থেকেই প্রত্যাশা করার চেষ্টা এবং কদর্যতা এড়াতে চেষ্টা করেন তবে সময়ের সাথে সাথে তার / তাদের আশা কম প্রয়োজন পরিষ্কার সময়। (এবং তারপরে তারা ডকুমেন্টেশন, গভীর রিফ্যাক্টরিং এবং তারা কী লিখেছেন এবং একীভূত করেছে তার জ্ঞান ভাগ করে নেওয়ার জন্য এই সময়টি উত্সর্গ করতে পারে))
আমি মনে করি যে নিয়মিত জলপ্রপাত শৈলীর প্রকল্পের কোনও কাজ, বা চৌকস গল্পে নিয়মিত সময় নির্ধারণ করা খুব ভাল। একটি নির্দিষ্ট সময় রাখা আপনার সময়সূচীতে এটি ঠিক কাজ করার মতো মূল্যবান নাও হতে পারে। এটি আপনাকে প্রকল্পের পিছনে থাকার কারণে ক্লিনআপ দিন বাতিল করার সময়সূচির অংশ হিসাবে এটি করার অনুমতি দেয়।
এমন একটি প্রকল্প পরিচালনা করা যাতে প্রচুর পরিমাণে debtণ ছিল, নিয়মিতভাবে এগুলিতে কাজ করা জিনিসগুলি মসৃণভাবে কাজ করার মূল চাবিকাঠি। আমাদের কিছু জিনিস বড় ছিল, কিছু ছোট ছিল।
কয়েক মাস এই ধরণের কাজের পরে আমাদের অপারেশন টিম নেতৃত্ব আমাকে জানিয়েছিল যে সবকিছু কতটা মসৃণ চলছে।
প্রতিটি আইটেম অনেকটা মনে হচ্ছে না, তবে সমস্ত debtণের মতো এটি বিজ্ঞাপন দেয় ads
আদর্শ উত্তরটি হ'ল না, কারণ এটিকে প্রয়োজনীয়তা এড়াতে আপনি প্রয়োজনীয় পদক্ষেপ গ্রহণ করেন (ইতিমধ্যে বর্ণিত বেশ কয়েকটি কারণে আপনি পরিষ্কার হয়ে যান)।
শেষ পর্যন্ত এটি লক্ষ্য হতে পারে তবে আপনার একটি দল থাকতে পারে যা এটি প্রয়োগে অনেক দূরে।
পরিচালকদের কিছুটা দায়িত্ব নিতে হবে এটি বিকাশকারীদের দোষ হয় না। পরিচালকগণ একটি কথা বলতে পারেন, তবে তারা প্রকল্পগুলি সমাপ্ত করার জন্য চাপ প্রয়োগ শুরু করে এবং খারাপ অভ্যাসগুলি প্রচার করে এমন পরামর্শ দেয়। তারা আক্ষরিক অর্থে বলতে পারে, "আমরা পরে এটি পরিষ্কার করব" বা যদি এটি কাজ করে তবে এটি যথেষ্ট যথেষ্ট।
এটি গুরুত্বপূর্ণ আপনার দেখানোর জন্য আপনাকে একটি নির্দিষ্ট সময় উত্সর্গ করার সাথে শুরু করতে হতে পারে। একবার আপনি যখন জানতে পারবেন যে আপনার দলটি তাদের কোডগুলি পরিষ্কার করতে সক্ষম হয়েছে (প্রদত্ত নয়) তবে আপনি এটি আরও ঘন ঘন অন্তর্ভুক্ত করার চেষ্টা করতে পারেন।
শেষ পর্যন্ত, আপনার একটি সময় নির্ধারণ করা উচিত নয়।
ব্যক্তিগতভাবে, আমি একটি নতুন সমস্যা সমাধান করার এবং বিষয়গুলি পরিষ্কার রাখার চেষ্টা করার সময় এটির কাজ করার সাথে লড়াই করছি। আমি এটিতে আরও ভাল হয়ে যাচ্ছি, তবে প্রায়শই একটি ইচ্ছাকৃত বিরতি নিয়ে পরিষ্কার জিনিসগুলি পরিষ্কার করে ফেলি। এটি আমার কাছে আলাদা মনের মত। শেষ পর্যন্ত, কঠিন অনুশীলনগুলি অভ্যাসে পরিণত হয়।
না, কোডিং করার সময় আপনার এটি করা উচিত। যদি আপনি টিডিডি ব্যবহার করেন তবে এটিকে রিফ্যাক্টরিং বলে। আপনার কোডটি ঠিক করার জন্য এবং পরিষ্কার করার জন্য আপনি যখন মাস বা দুই মাস অপেক্ষা করেন তখন সমস্যাটি হ'ল আপনি কোডের আচরণটি পরিবর্তন করতে পারেন কারণ আপনি নিজের কোডের প্রতিটি অংশ মনে রাখছেন না।
আমি রিফ্যাক্টরিংয়ের পরামর্শ দিচ্ছি যা কোনও কাজ করার জন্য প্রয়োজনীয় কোডটি প্রথমে কোডিংয়ের উপর ভিত্তি করে তৈরি করা হয় এবং এটি পুনরায় ডিজাইন করার সাথে সাথে এটিকে আরও অনুকূলিত করে তোলে এবং এটি সুন্দর করে তোলে।