অবিচ্ছিন্ন ইন্টিগ্রেশন সার্ভার দ্বারা কোডিং মানগুলি প্রয়োগ করা উচিত?


14

অবিচ্ছিন্ন ইন্টিগ্রেশন সার্ভার চলমান স্থির বিশ্লেষণ সরঞ্জাম (প্রাক্তন পিএমডি, স্টাইলকপ / এফএক্সকপ) দ্বারা কোডিং মান / শৈলীর প্রয়োগ করা উচিত এবং যদি মানগুলি অনুসরণ না করা হয় তবে বিল্ডটি ব্যর্থ করতে হবে? বিল্ডটি ব্যর্থ করতে কী ধরণের নিয়ম ব্যবহার করা উচিত নয়?

উত্তর:


11

কোডিং স্ট্যান্ডার্ডগুলি একটি কারণে থাকতে হবে ... এবং অ-সম্মতি পরীক্ষা করা উচিত।

তবে, সমস্ত লঙ্ঘনকে ত্রুটি হিসাবে বিবেচনা করা উচিত নয় - যেমনটি সমস্ত সংকলন লঙ্ঘন নয়। আপনি যেখানে লাইনটি আঁকেন সেটিকে একটি সংস্থা এবং একটি সরঞ্জাম সিদ্ধান্ত হতে হবে।

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


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

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

5

এটি সম্পূর্ণরূপে শোনা যায় না এবং এটি কেবল চেষ্টা করেই আপনি জানতে পারবেন। কিছু পদক্ষেপ রয়েছে যা এর আগে আপনাকে নেওয়া যেতে পারে।

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

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

বিল্ড ব্রেক তৈরির পরিবর্তে, আপনি সরঞ্জামগুলি চালাতে পারেন এবং তাদের প্রতিবেদন তৈরি করতে পারেন। কোডিংয়ের মান লঙ্ঘন বাড়ছে বলে মনে হচ্ছে, আপনি দলকে একত্রিত করতে পারেন এবং এটি কেন হচ্ছে তা নির্ধারণ করতে পারেন।


2

অবিচ্ছিন্ন ইন্টিগ্রেশন সার্ভার চলমান স্থির বিশ্লেষণ সরঞ্জাম (প্রাক্তন পিএমডি, স্টাইলকপ / এফএক্সকপ) দ্বারা কোডিং মান / শৈলীর প্রয়োগ করা উচিত এবং যদি মানগুলি অনুসরণ না করা হয় তবে বিল্ডটি ব্যর্থ করতে হবে?

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

বিল্ডটি ব্যর্থ করতে কী ধরণের নিয়ম ব্যবহার করা উচিত নয়?

বিষয়গত বিষয়গুলি, দিয়ে শুরু করা। "কোডটি স্ব-ডকুমেন্টিং বা ভাল মন্তব্য করা" নিয়মটি কীভাবে প্রয়োগ করবেন? "কোন ম্যাজিক সংখ্যা" নিয়ম? কোড রিভিউতে সেগুলি সেরা।

আরেকটি বিভাগ হ'ল বিধি লঙ্ঘন যা ইতিমধ্যে মওকুফ দেওয়া হয়েছে। যে কোনও আকারের কোড ভিত্তি দেওয়া, অবশ্যম্ভাবীভাবে কোডের কিছু অংশ হতে চলেছে যেখানে মান লঙ্ঘন করা ঠিক সঠিক জিনিস।


2

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

আমরা অনেক কিছু তৈরি করি, পিএইচপি অ্যাপ্লিকেশন হওয়ায় কোনও প্রকৃত সংকলন নেই তাই বিল্ডটি সত্যই একটি ইউনিট পরীক্ষা / স্থির বিশ্লেষণ / রানার, এবং আমরা এটিতে কয়েকটি চক্র ব্যয় করতে পারি।

আমাদের কাছে প্রচুর সমস্যা সহ কিছু কোড মানের সমস্যা এবং কিছু লিগ্যাসি কোড ছিল।

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

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

সুতরাং আমি এটি বলব (হার্ড অভিজ্ঞতা থেকে শিখেছি)।

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

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

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

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


যথাযথভাবে। যদি এটি মানকে সম্মতি না দিয়ে বিল্ডটিকে অকার্যকর করে তোলে।
অ্যান্ডি

1

এটি আপনার চূড়ান্ত লক্ষ্য এবং কৌশলের উপর নির্ভর করবে ।

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

তবে কোড (প্রকৃতপরি পরিবর্তন-সেট) নির্ভরতা সংক্রান্ত সমস্যা রয়েছে বা সংকলন না করে যদি প্রতিশ্রুতিবদ্ধতা অবরুদ্ধ করা সম্পূর্ণ বৈধ। তবে কোড লেআউট এবং কিছু নামকরণ কনভেনশনের কারণে ব্যর্থ কোডটি সিআই সার্ভারের নিয়মকানুনের বিধি নিষেধের জন্য অত্যন্ত বিচ্ছিন্ন এবং অত্যাবশ্যক বাধা নয়।

তবে সন্ধ্যা বিল্ড চলাকালীন প্রয়োগ করা গেলে এটি কার্যকর নিয়ম হতে পারে।

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


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