ভূমিকা
এটি প্রকৃতপক্ষে একটি দু: খজনক কাজ, এবং আচ্ছাদন করার অনেক জায়গা আছে। সুতরাং আমি বিনীতভাবে এটিকে আপনার দলের জন্য কিছু উপকারী গাইড এবং যথাযথ সরঞ্জাম এবং শিক্ষামূলক সামগ্রীর দিকে নির্দেশ করছি।
মনে রাখবেন: এগুলি নির্দেশিকাগুলি এবং সেগুলি পরিস্থিতি অনুসারে গৃহীত, মানিয়ে নেওয়া বা বাদ দেওয়া।
সাবধান: একটি দলে একবারে এই সমস্ত ডাম্পিং সম্ভবত ব্যর্থ হবে। আপনার এমন উপাদানগুলি চেরি-বাছাই করার চেষ্টা করা উচিত যা আপনাকে ঘামের জন্য সেরা ঠাণ্ডা দেয় এবং একবারে একবারে ধীরে ধীরে সেগুলি প্রবর্তন করে।
দ্রষ্টব্য: এই সবগুলি সরাসরি জি 2 এর মতো ভিজ্যুয়াল প্রোগ্রামিং সিস্টেমে প্রযোজ্য নয়। এগুলি কীভাবে মোকাবেলা করবেন সে সম্পর্কে আরও বিশদ বিবরণের জন্য, শেষে সংযোজন বিভাগটি দেখুন ।
অধৈর্য জন্য নির্বাহী সংক্ষিপ্তসার
- একটি অনমনীয় প্রকল্প কাঠামো সংজ্ঞায়িত করুন :
- প্রকল্প টেম্পলেট ,
- কোডিং কনভেনশনস ,
- পরিচিত বিল্ড সিস্টেম ,
- এবং আপনার পরিকাঠামো এবং সরঞ্জামগুলির জন্য ব্যবহারের নির্দেশিকাগুলি সেট করে।
- একটি ভাল এসসিএম ইনস্টল করুন এবং নিশ্চিত করুন যে এটি কীভাবে ব্যবহার করতে হয়।
- তাদের প্রযুক্তির জন্য তাদের ভাল আইডিইগুলিতে নির্দেশ করুন এবং তারা কীভাবে এটি ব্যবহার করবেন তা নিশ্চিত হন।
- বাস্তবায়ন কোড মানের চেকারস এবং স্বয়ংক্রিয় প্রতিবেদনের বিল্ড সিস্টেম।
- অবিচ্ছিন্ন ইন্টিগ্রেশন এবং অবিচ্ছিন্ন পরিদর্শন সিস্টেমগুলিতে বিল্ড সিস্টেমের জুটি করুন ।
- উপরের সাহায্যে কোড মানের "হটস্পট" এবং রিফ্যাক্টর সনাক্ত করুন ।
এখন দীর্ঘ সংস্করণের জন্য ... সাবধানতা, নিজেকে বন্ধনী!
কঠোরতা (প্রায়শই) ভাল
এটি একটি বিতর্কিত মতামত, কারণ অনড়তা প্রায়শই আপনার বিরুদ্ধে কাজ করার শক্তি হিসাবে দেখা যায়। কিছু প্রকল্পের কয়েকটি ধাপের ক্ষেত্রে এটি সত্য। তবে একবার আপনি এটিকে কাঠামোগত সহায়তা হিসাবে দেখেন, এমন একটি কাঠামো যা অনুমানটি সরিয়ে নিয়ে যায়, এটি নষ্ট সময় এবং প্রচেষ্টার পরিমাণকে হ্রাস করে। এটি আপনার পক্ষে নয়, আপনার পক্ষে কাজ করুন।
অনমনীয়তা = প্রক্রিয়া / পদ্ধতি ।
রাসায়নিক উদ্ভিদ বা কারখানাগুলিতে ম্যানুয়াল, পদ্ধতি, ড্রিলস এবং জরুরি নির্দেশিকা ঠিক একই কারণে সফ্টওয়্যার বিকাশের ভাল প্রক্রিয়া এবং পদ্ধতি প্রয়োজন: খারাপ ফলাফল রোধ করা, ভবিষ্যদ্বাণী বাড়ানো, উত্পাদনশীলতা সর্বাধিকীকরণ করা ...
কঠোরতা সংযম আসে, যদিও!
প্রকল্প কাঠামোর কঠোরতা
যদি প্রতিটি প্রকল্পের নিজস্ব কাঠামো নিয়ে আসে, আপনি (এবং নতুনরা) হারিয়ে গিয়েছেন এবং প্রতিবার যখন আপনি এটি খুলবেন তখন স্ক্র্যাচ থেকে নেওয়া দরকার। আপনি এটি কোনও পেশাদার সফ্টওয়্যার শপেই চান না এবং আপনি এটি কোনও ল্যাবটিতেও চান না।
বিল্ড সিস্টেমগুলির কঠোরতা
যদি প্রতিটি প্রকল্প আলাদা দেখায় , তবে তারা আলাদাভাবে তৈরি করার একটি ভাল সুযোগ রয়েছে
। একটি বিল্ডের জন্য খুব বেশি গবেষণা বা খুব বেশি অনুমান করার দরকার পড়ে না। : আপনি ক্যানোনিকাল জিনিস করতে প্রয়োজন এবং সুনির্দিষ্ট সম্পর্কে চিন্তা করার প্রয়োজন নেই সক্ষম হতে চান configure; make install
, ant
,
mvn install
ইত্যাদি, ...
একই বিল্ড সিস্টেমটিকে পুনরায় ব্যবহার করা এবং সময়ের সাথে এটি বিকশিত হওয়াও মানের একটি ধারাবাহিক স্তর নিশ্চিত করে।
আপনার README
প্রকল্পের সুনির্দিষ্ট বিষয়গুলি নির্দেশ করার জন্য দ্রুত প্রয়োজন , এবং ব্যবহারকারী / বিকাশকারী / গবেষককে যদি কোনও হয় তবে গ্রেপ্তার সাথে গাইড করুন।
এটি আপনার বিল্ড অবকাঠামোর অন্যান্য অংশগুলিকেও সুবিধার্থে সহজতর করে:
সুতরাং আপনার বিল্ডটি (যেমন আপনার প্রকল্পগুলি) আপ টু ডেট রাখুন তবে এটি সময়ের সাথে আরও কঠোর এবং লঙ্ঘন এবং খারাপ অভ্যাসগুলির প্রতিবেদনে আরও দক্ষ করুন।
চাকাটি পুনরায় উদ্ভাবন করবেন না এবং আপনি ইতিমধ্যে যা করেছেন তা পুনরায় ব্যবহার করুন।
প্রস্তাবিত পঠন:
প্রোগ্রামিং ভাষার পছন্দগুলির মধ্যে কঠোরতা
আপনি আশা করতে পারবেন না, বিশেষত একটি গবেষণা পরিবেশে, সমস্ত দল (এবং এমনকি কম সমস্ত বিকাশকারী) একই ভাষা এবং প্রযুক্তি স্ট্যাক ব্যবহার করবে st তবে, আপনি "অফিসিয়ালি সমর্থিত" সরঞ্জামগুলির একটি সেট সনাক্ত করতে পারেন এবং তাদের ব্যবহারকে উত্সাহিত করতে পারেন। বাকিগুলি, ভাল যুক্তি ছাড়াই অনুমতি দেওয়া উচিত নয় (প্রোটোটাইপিংয়ের বাইরে)।
আপনার টেক স্ট্যাকটিকে সহজ রাখুন এবং প্রয়োজনীয় দক্ষতার রক্ষণাবেক্ষণ এবং প্রস্থকে সর্বাধিক ন্যূনতম করুন: একটি শক্তিশালী কোর।
কোডিং কনভেনশন এবং গাইডলাইনের কঠোরতা
কোডিং কনভেনশন এবং নির্দেশিকা হ'ল যা আপনাকে দল এবং একটি ভাগ লিঙ্গ উভয় হিসাবে পরিচয় বিকাশ করতে দেয় । আপনি যখনই কোনও উত্স ফাইল খোলেন ততক্ষণে আপনি টেরা ছদ্মবেশে ভুল করতে চান না ।
অযৌক্তিক নিয়ম যা জীবনকে আরও কঠোর করে তোলে বা ক্রিয়াকলাপকে স্পষ্টতাকে নিষেধ করে যে একক সরল লঙ্ঘনের উপর ভিত্তি করে কমিটিকে অস্বীকার করা হয় তা বোঝা। যাহোক:
ব্যক্তিগত দৃষ্টিভঙ্গি: কোডিং কনভেনশনগুলির কথা শুনে আমি আক্রমণাত্মক, কেউ কেউ এমনকি নাজিও বলে , কারণ আমি আমার দলের জন্য একটি স্বীকৃত স্টাইলের একটি লিঙ্গুয়া ফ্র্যাঙ্কা বিশ্বাস করি
। ক্রেপ কোডটি চেক-ইন হয়ে গেলে, এটি কোনও হলিউড তারকার মুখের শীতল ক্ষতের মতো দাঁড়িয়ে থাকে: এটি একটি পর্যালোচনা এবং কোনও ক্রিয়া স্বয়ংক্রিয়ভাবে ট্রিগার করে। প্রকৃতপক্ষে, আমি মাঝেমাঝে প্রাক-কমিট হুকের ব্যবহারের পক্ষে নন-মেনে চলার প্রতিশ্রুতিগুলি প্রত্যাখ্যান করতে। উল্লিখিত হিসাবে, এটি অত্যধিক পাগল হওয়া উচিত এবং উত্পাদনশীলতার পথে যাওয়া উচিত নয়: এটি এটিকে চালিত করা উচিত। এগুলি ধীরে ধীরে পরিচিত করুন, বিশেষত শুরুতে। তবে এটি ত্রুটিযুক্ত কোড ফিক্সিংয়ের জন্য এত বেশি সময় ব্যয় করার চেয়ে পছন্দনীয় যে আপনি আসল সমস্যা নিয়ে কাজ করতে পারবেন না।
কিছু কিছু ভাষা এমনকি এটি নকশা দ্বারা প্রয়োগ করে:
- জাভা বলতে বোঝায় যে আপনি এটি নিয়ে লিখতে পারেন এমন নিস্তেজ কঙ্কালের পরিমাণ হ্রাস করতে (যদিও সন্দেহ নেই যে অনেকে এটি পরিচালনা করে)।
ইন্ডেন্টেশন দ্বারা পাইথনের ব্লক কাঠামো এই অর্থে অন্য ধারণা।
যান, এর gofmt
সরঞ্জাম সহ, যা সম্পূর্ণরূপে কোনও বিতর্ক এবং প্রচেষ্টা ( এবং অহং !! ) শৈলীর অন্তর্নিহিতভাবে নিয়ে যায়: gofmt
আপনি প্রতিশ্রুতিবদ্ধ হওয়ার আগে চালান ।
কোড পচা যাতে পিছলে যেতে না পারে তা নিশ্চিত করুন । কোড কনভেনশন , অবিচ্ছিন্ন ইন্টিগ্রেশন এবং অবিচ্ছিন্ন পরিদর্শন , জোড় প্রোগ্রামিং এবং কোড পর্যালোচনা এই অসুরের বিরুদ্ধে আপনার অস্ত্রাগার।
এছাড়াও, আপনি নীচে দেখতে পাবেন যে কোড হ'ল ডকুমেন্টেশন , এবং এটি অন্য একটি ক্ষেত্র যেখানে সম্মেলনগুলি পাঠযোগ্যতা এবং স্পষ্টতাকে উত্সাহ দেয়।
ডকুমেন্টেশনের কঠোরতা
ডকুমেন্টেশন কোডের সাথে এক সাথে যায়। কোড নিজেই ডকুমেন্টেশন। তবে কীভাবে জিনিসগুলি তৈরি করতে, ব্যবহার করতে এবং বজায় রাখতে হবে সে সম্পর্কে অবশ্যই স্পষ্ট নির্দেশাবলী থাকতে হবে।
ডকুমেন্টেশনের জন্য একক পয়েন্ট অফ কন্ট্রোল (উইকিউইকি বা ডিএমএসের মতো) ব্যবহার করা ভাল জিনিস। প্রকল্পগুলির জন্য স্পেস তৈরি করুন, আরও এলোমেলো ব্যানার এবং পরীক্ষার জন্য স্পেস তৈরি করুন। সমস্ত স্পেসগুলিতে সাধারণ নিয়ম এবং কনভেনশন পুনরায় ব্যবহার করুন Have এটিকে দল চেতনার অংশ করার চেষ্টা করুন।
কোড এবং টুলিংয়ের ক্ষেত্রে বেশিরভাগ পরামর্শই ডকুমেন্টেশনের ক্ষেত্রে প্রযোজ্য।
কোড মন্তব্যে কঠোরতা
কোড মন্তব্যগুলি, যেমন উপরে উল্লিখিত রয়েছে, সেগুলিও ডকুমেন্টেশন। বিকাশকারীরা তাদের কোড সম্পর্কে তাদের অনুভূতিগুলি প্রকাশ করতে চান (বেশিরভাগ গর্ব এবং হতাশা, যদি আপনি আমাকে জিজ্ঞাসা করেন)। সুতরাং মন্তব্যগুলির (বা এমনকি কোড) কোনও অনিশ্চিত শর্তে এগুলি প্রকাশ করা তাদের পক্ষে অস্বাভাবিক কিছু নয়, যখন পাঠ্যের আরও একটি আনুষ্ঠানিক টুকরোটি কম ব্যাখ্যা বা নাটক দিয়ে একই অর্থ জানাতে পারে। মজা এবং historicalতিহাসিক কারণে কয়েকটা পিছলে যাওয়া ঠিক: এটি একটি দল সংস্কৃতির বিকাশেরও অঙ্গ । তবে এটি অত্যন্ত গুরুত্বপূর্ণ যে প্রত্যেকে জানে যে কোনটি গ্রহণযোগ্য এবং কোনটি নয় এবং সেই মন্তব্যে শব্দটি কেবল এটি:
শোরগোল ।
কমিট লগগুলিতে কঠোরতা
কমিট লগগুলি আপনার এসসিএম এর জীবনচক্রের একটি বিরক্তিকর এবং অকেজো "পদক্ষেপ" নয়: আপনি সময়মতো বাসাতে বা পরবর্তী কাজটি চালিয়ে যেতে বা লাঞ্চের উদ্দেশ্যে যাত্রা করা বন্ধুদের সাথে জড়িত থাকতে এড়াবেন না। এগুলি গুরুত্বপূর্ণ, এবং (বেশিরভাগ) ভাল ওয়াইনের মতোই, যত বেশি সময় তাদের মূল্যবান হয়ে যায়। সুতরাং তাদের সঠিক করুন। আমি যখন সহকর্মীরা দেখতে পাই দৈত্যীয় কমিটের জন্য, বা স্পষ্ট-অযোগ্য হ্যাকের জন্য ওয়ান-লাইন লিখছি I'm
কমিটগুলি কোনও কারণে করা হয়, এবং সেই কারণে ISN সর্বদা আপনার কোড এবং আপনার দ্বারা প্রবেশ করা কমিট লগের একটি লাইন দ্বারা সর্বদা স্পষ্টভাবে প্রকাশিত হয়। এর চেয়ে আরও অনেক কিছু আছে।
কোডের প্রতিটি লাইনের একটি গল্প এবং একটি ইতিহাস রয়েছে । ভিন্নতাগুলি এর ইতিহাস বলতে পারে তবে আপনাকে এটির গল্পটি লিখতে হবে।
আমি কেন এই লাইনটি আপডেট করেছি? -> ইন্টারফেস পরিবর্তিত হয়েছে।
ইন্টারফেস কেন বদলে গেল? -> যেহেতু এটি নির্ধারণ করা লাইব্রেরি এল 1 আপডেট হয়েছিল।
কেন লাইব্রেরি আপডেট করা হয়েছিল? -> কারণ লাইব্রেরি L2, আমাদের এফ বৈশিষ্ট্যের জন্য লাইব্রেরি L1 নির্ভর করে।
এবং এক্স বৈশিষ্ট্য কি? -> ইস্যু ট্র্যাকারে 3456 টাস্কটি দেখুন।
এটি আমার এসসিএম পছন্দ নয়, এবং এটি আপনার ল্যাব জন্যও সেরা নাও হতে পারে; তবে Git
এই অধিকারটি পেয়ে যায় এবং ব্যবহার করে short logs
এবং
অন্যান্য এসসিএম সিস্টেমগুলির তুলনায় আপনাকে আরও ভাল লগ লিখতে বাধ্য করার চেষ্টা করে long logs
। টাস্ক আইডির সাথে লিঙ্ক করুন (হ্যাঁ, আপনার একটি দরকার) এবং এর জন্য একটি জেনেরিক সংক্ষিপ্তসার ছেড়ে দিন shortlog
এবং লগ লগটিতে প্রসারিত করুন: চেঞ্জসেটের গল্পটি লিখুন ।
এটি একটি লগ: ট্র্যাক রাখতে এবং আপডেট রেকর্ড করতে এখানে here
থাম্বের বিধি: আপনি যদি পরে এই পরিবর্তন সম্পর্কে কিছু সন্ধান করছিলেন , তবে আপনার লগ আপনার প্রশ্নের উত্তর দেওয়ার সম্ভাবনা আছে?
প্রকল্পগুলি, ডকুমেন্টেশন এবং কোডগুলি জীবিত
এগুলিকে সিঙ্কে রাখুন, অন্যথায় তারা আর সেই প্রতীকী সত্তা তৈরি করে না। এটি যখন আশ্চর্য কাজ করে তখন:
- আপনার এসসিএম-এ লগ সাফ করুন, ডাব্লু / আপনার ইস্যু ট্র্যাকারের টাস্ক আইডির লিঙ্কগুলি,
- যেখানে এই ট্র্যাকারের টিকিটগুলি নিজেরাই আপনার এসসিএমের চেঞ্জসেটগুলির সাথে লিঙ্ক করে (এবং সম্ভবত আপনার সিআই সিস্টেমের বিল্ডগুলির সাথে),
- এবং একটি ডকুমেন্টেশন সিস্টেম যা এইগুলির সাথে লিঙ্ক করে।
কোড এবং ডকুমেন্টেশনগুলি সম্মিলিত হওয়া দরকার ।
পরীক্ষায় কঠোরতা
চলতি নিয়ম:
- যে কোনও নতুন কোড আসবে (কমপক্ষে) ইউনিট পরীক্ষার সাথে।
- যে কোনও রিফ্যাক্টরড উত্তরাধিকার কোড ইউনিট পরীক্ষার সাথে আসতে হবে।
অবশ্যই, এই প্রয়োজন:
- আসলে মূল্যবান কিছু পরীক্ষা করার জন্য (বা এগুলি সময় এবং শক্তির অপচয়)
- ভাল লিখিত এবং মন্তব্য করা (ঠিক অন্যান্য চেক ইন আপনি যে কোড হিসাবে)।
এগুলি হ'ল ডকুমেন্টেশন এবং এগুলি আপনার কোডের চুক্তির রূপরেখা তৈরি করতে সহায়তা করে। বিশেষত আপনি যদি টিডিডি ব্যবহার করেন । এমনকি যদি নাও হয় তবে আপনার নিজের মানসিক শান্তির জন্য তাদের এগুলি দরকার। কোডের পচা এবং পরিবেশগত ব্যর্থতা থেকে রক্ষা করার জন্য আপনি যখন নতুন কোড (রক্ষণাবেক্ষণ বা বৈশিষ্ট্য) এবং আপনার প্রহরীটি অন্তর্ভুক্ত করবেন তখন সেগুলি আপনার সুরক্ষা জাল।
অবশ্যই, আপনার আরও এগিয়ে যাওয়া উচিত এবং একীকরণের পরীক্ষা করা উচিত , এবং
প্রতিটি প্রজননযোগ্য বাগ আপনি ফিক্স করেছিলেন তার জন্য রিগ্রেশন টেস্ট করা উচিত।
সরঞ্জামগুলির ব্যবহারের ক্ষেত্রে কঠোরতা
মাঝে মাঝে বিকাশকারী / বিজ্ঞানীর পক্ষে উত্সটিতে কিছু নতুন স্ট্যাটিক চেকার চেষ্টা করতে, অন্যটি ব্যবহার করে একটি গ্রাফ বা মডেল তৈরি করতে, বা ডিএসএল ব্যবহার করে একটি নতুন মডিউল প্রয়োগ করতে চান এটি ঠিক। তবে টিমের একটি প্রচলিত সেট রয়েছে যা সমস্ত দলের সদস্যদের জানা এবং ব্যবহারের জন্য প্রত্যাশিত it's
এর বাইরে, সদস্যরা যতক্ষণ না তারা সমস্ত কিছু ব্যবহার করতে দেয়:
- উত্পাদনশীল ,
- নিয়মিত সহায়তার প্রয়োজন হয় না
- আপনার সাধারণ অবকাঠামো নিয়মিতভাবে সামঞ্জস্য না করা ,
- আপনার অবকাঠামো ব্যাহত না করা (কোড, বিল্ড সিস্টেম, ডকুমেন্টেশনগুলির মতো সাধারণ ক্ষেত্রগুলি সংশোধন করে ...),
- অন্যের কাজের উপর প্রভাব ফেলছে না ,
- সময়োপযোগী কোনো অনুরোধ কাজটি করতে পারবেন ।
যদি এটি না হয়, তবে কার্যকর করুন যে তারা ডিফল্টে ফ্যালব্যাক।
অনমনীয়তা বনাম ভার্সেটালিটি, অভিযোজনযোগ্যতা, প্রোটোটাইপিং এবং জরুরী অবস্থা
নমনীয়তা ভাল হতে পারে। লেটিং কেউ কখনও তা হ্যাক, একটি দ্রুত-এন-মলিন পদ্ধতির, অথবা একটি প্রিয় পোষা টুল ব্যবহার করার জন্য কাজ শেষ
জরিমানা। কখনও এটিকে অভ্যাসে পরিণত হতে দিন এবং কখনও এই কোডটিকে সমর্থন করার জন্য আসল কোডবাসে পরিণত হয় না।
দল স্পিরিট ম্যাটারস
আপনার কোডবেসে এক গর্বের গর্ব বিকাশ করুন
- কোডে গর্বের বোধ তৈরি করুন
- ওয়ালবোর্ড ব্যবহার করুন
- অবিচ্ছিন্ন ইন্টিগ্রেশন গেমের জন্য লিডার বোর্ড
- ইস্যু পরিচালনা এবং ত্রুটি গণনার জন্য ওয়ালবোর্ড
- ইস্যু ট্র্যাকার / বাগ ট্র্যাকার ব্যবহার করুন
দোষী গেমগুলি এড়িয়ে চলুন
- অবিচ্ছিন্ন একীকরণ / অবিচ্ছিন্ন পরিদর্শন গেমগুলি ব্যবহার করুন: এটি ভাল আচরণ এবং উত্পাদনশীল প্রতিযোগিতা বাড়িয়ে তোলে ।
- ত্রুটিগুলি ট্র্যাক করে রাখুন: এটি কেবল বাড়ির যত্নের জন্য।
- DO মূল কারনগুলির চিহ্নিতকরণের : এটা শুধু ভবিষ্যতে-প্রুফিং প্রসেস আছে।
- কিন্তু দোষ দেবেন না : এটি পাল্টা ফলদায়ক।
এটি কোড সম্পর্কে, বিকাশকারীদের সম্পর্কে নয়
বিকাশকারীদের তাদের কোডের গুণমান সম্পর্কে সচেতন করুন, তবে তাদের কোডটি একটি বিচ্ছিন্ন সত্তা হিসাবে দেখান এবং নিজের সম্প্রসারণ নয়, যা সমালোচনা করা যায় না।
এটি একটি প্যারাডক্স: একটি স্বাস্থ্যকর কর্মক্ষেত্রে আপনার অহং-কম প্রোগ্রামিংকে উত্সাহিত করতে হবে তবে অনুপ্রেরণামূলক উদ্দেশ্যে অহংকারের উপর নির্ভর করতে হবে।
সায়েন্টিস্ট থেকে প্রোগ্রামার পর্যন্ত
কোডগুলিতে যারা মূল্য দেয় না এবং গর্ব করে তারা ভাল কোড তৈরি করে না। এই সম্পত্তিটি উত্থাপিত হওয়ার জন্য, এটি কতটা মূল্যবান এবং মজাদার হতে পারে তা আবিষ্কার করা উচিত। নিখুঁত পেশাদারিত্ব এবং ভাল করার ইচ্ছা যথেষ্ট নয়: এর আবেগ দরকার। সুতরাং আপনাকে আপনার বিজ্ঞানীদের প্রোগ্রামারগুলিতে পরিণত করতে হবে
(বৃহত অর্থে)।
কেউ মন্তব্য করে যুক্তি দিয়েছিলেন যে কোনও প্রকল্প এবং এর কোডে 10 থেকে 20 বছর পরে যে কেউ সংযুক্তি অনুভব করবে। হতে পারে আমি ভুল তবে আমি ধরে নিই যে তারা কোডের ফলাফল এবং কাজ এবং এর উত্তরাধিকার নিয়ে গর্বিত, কোডটি নিজেই নয় বা এটি লেখার আচরণের জন্য।
অভিজ্ঞতা থেকে, বেশিরভাগ গবেষক কোডিংকে একটি প্রয়োজনীয়তা হিসাবে বিবেচনা করেন বা সর্বোত্তমভাবে মজাদার বিভ্রান্তি হিসাবে দেখেন। তারা কেবল এটি কাজ করতে চায়। যাঁরা এর মধ্যে ইতিমধ্যে বেশ পারদর্শী এবং যাদের প্রোগ্রামিংয়ের প্রতি আগ্রহ রয়েছে তাদের পক্ষে সেরা অনুশীলনগুলি গ্রহণ এবং প্রযুক্তিগুলির স্যুইচিংয়ে প্ররোচিত করা অনেক সহজ। আপনি তাদের অর্ধেক এখানে পেতে হবে।
কোড রক্ষণাবেক্ষণ গবেষণা কাজের অংশ
কেউ ছদ্মবেশী গবেষণামূলক কাগজপত্র পড়ে না। এ কারণেই তারা প্রকাশক-পর্যালোচনা, প্রুফ-রিড, সংশোধিত, পুনর্লিখন এবং পুনরায় প্রকাশের জন্য প্রস্তুত না হওয়া পর্যন্ত পুনরায় অনুমোদিত এবং সময় এবং সময় অনুমোদিত। একই একটি থিসিস এবং একটি কোডবেসে প্রযোজ্য !
এটি পরিষ্কার করে দিন যে একটি কোডবেসের ধ্রুবক রিফ্যাক্টরিং এবং রিফ্রেশ করা কোড পচা রোধ করে এবং প্রযুক্তিগত debtণ হ্রাস করে এবং ভবিষ্যতের পুনরায় ব্যবহার এবং অন্যান্য প্রকল্পের জন্য কাজের অভিযোজনকে সহায়তা করে।
কেন এই সব??!
আমরা উপরের সমস্তটি নিয়ে কেন বিরক্ত করব? জন্য কোড মানের । নাকি এটি
কোয়ালিটি কোড ...?
এই নির্দেশিকাগুলি লক্ষ্য করে আপনার দলকে এই লক্ষ্যে নিয়ে যাওয়া। কিছু দিকগুলি কেবল তাদের উপায় দেখিয়ে এবং তা করে দেওয়া (যা আরও ভাল) এবং অন্যরা তাদের হাত ধরে এনে দেয় (তবে আপনি মানুষকে শিক্ষিত করেন এবং অভ্যাস বিকাশ করেন)।
লক্ষ্যটি যখন নাগালের মধ্যে থাকে তখন আপনি কীভাবে জানবেন?
গুণ পরিমাপযোগ্য
সর্বদা পরিমাণগতভাবে নয়, তবে এটি পরিমাপযোগ্য । উল্লিখিত হিসাবে, আপনার দলে আপনার গর্বের বোধ তৈরি করা দরকার, এবং অগ্রগতি এবং ভাল ফলাফলগুলি দেখানোই মুখ্য। নিয়মিতভাবে কোডের মান পরিমাপ করুন এবং অন্তরগুলির মধ্যে অগ্রগতি এবং এটি কীভাবে গুরুত্বপূর্ণ তা দেখান। কী করা হয়েছে এবং কীভাবে এটি জিনিসগুলিকে আরও ভাল বা খারাপ করে তুলেছে তা প্রতিবিম্বিত করতে প্রাকট্রোস্পেক্টিভগুলি করুন।
অবিচ্ছিন্ন পরিদর্শন করার জন্য দুর্দান্ত সরঞ্জাম রয়েছে । সোনার জাভা বিশ্বের একটি জনপ্রিয় হিসাবে পরিচিত, তবে এটি যে কোনও প্রযুক্তির সাথে খাপ খাইয়ে নিতে পারে; এবং আরও অনেক আছে। আপনার কোডটিকে মাইক্রোস্কোপের নীচে রাখুন এবং এই উদ্বেগজনক বিরক্তিকর বাগ এবং জীবাণুগুলি সন্ধান করুন।
তবে আমার কোডটি ইতিমধ্যে ক্র্যাপ হয়ে থাকলে কী হবে?
উপরের সমস্তটি মজাদার এবং নেভার ল্যান্ডে ভ্রমণের মতো সুন্দর, তবে আপনার কাছে ইতিমধ্যে (বাষ্পীয় এবং গন্ধযুক্ত একটি গাদা) ক্রেপ কোড এবং পরিবর্তন করতে অনিচ্ছুক একটি দল থাকলে তা করা সহজ নয়।
এখানে গোপনীয়তা: আপনাকে কোথাও শুরু করা দরকার ।
ব্যক্তিগত উপাখ্যান: একটি প্রকল্পে আমরা 650,000+ জাভা এলওসি, 200,000+ জেএসপি'র লাইন, 40,000+ জাভাস্ক্রিপ্ট এলওসি, এবং বাইনারি নির্ভরতা 400+ এমবি ব্যবহার করি a
প্রায় 18 মাস পরে, এটি 500,000 জাভা এলওসি (বেশিরভাগ ক্লিন) , জেএসপিগুলির 150,000 লাইন, এবং 38,000 জাভাস্ক্রিপ্ট এলওসি, কেবলমাত্র 100MBs এর উপর নির্ভরশীলতা রয়েছে (এবং এগুলি আমাদের এসসিএমে আর নেই!)!
আমরা এটি কিভাবে করেছিলাম? আমরা কেবল উপরের সমস্ত কিছু করেছি। বা কঠোর চেষ্টা।
এটি একটি দলীয় প্রচেষ্টা, তবে আমরা ধীরে ধীরে "ফ্যাট" কেটে ফেলার সময় আমাদের পণ্যের হার্ট-রেট পর্যবেক্ষণ করার জন্য আমাদের প্রক্রিয়া বিধিমালা এবং সরঞ্জামগুলিতে ধীরে ধীরে ইনজেকশান করি : ক্রপ কোড, অকেজো নির্ভরতা ... আমরা সমস্ত বিকাশ থামিয়ে নি এটি করুন: আমাদের মাঝে মাঝে আপেক্ষিক শান্তি এবং শান্ত থাকার সময় রয়েছে যেখানে আমরা কোডবেসে পাগল হতে এবং এটিকে ছিঁড়ে ফেলার জন্য মুক্ত, তবে বেশিরভাগ সময় আমরা "রিভিউ এবং রিফ্যাক্টর" মোডে প্রতিবারের সুযোগকে ডিফল্ট করে এটি করি most : বিল্ডসের সময়, মধ্যাহ্নভোজ চলাকালীন, বাগ ফিক্সিং স্প্রিন্টের সময়, শুক্রবার দুপুরের সময় ...
কিছু বড় "কর্ম" ছিল ... 8500+ এক্সএমএল এলওসি-র একটি দৈত্য অ্যান্ট বিল্ড থেকে আমাদের বিল্ড সিস্টেমটি একাধিক-মডিউল মাভেন বিল্ডে স্যুইচ করা ছিল তার মধ্যে একটি। আমাদের তখন ছিল:
- সাফ কাটা মডিউলগুলি (বা কমপক্ষে এটি ইতিমধ্যে অনেক ভাল ছিল এবং ভবিষ্যতের জন্য আমাদের এখনও বড় পরিকল্পনা রয়েছে),
- স্বয়ংক্রিয়ভাবে নির্ভরতা পরিচালনা (সহজ রক্ষণাবেক্ষণ এবং আপডেটের জন্য, এবং অকেজো ডিপগুলি অপসারণের জন্য),
- দ্রুত, সহজ এবং পুনরুত্পাদনযোগ্য বিল্ডস,
- মানের উপর দৈনিক রিপোর্ট।
আরেকটি "ইউটিলিটি টুল-বেল্ট" ইনজেকশন ছিল, যদিও আমরা নির্ভরতা কমাতে চেষ্টা করছিলেন: গুগল পেয়ারা এবং Apache কমন্স আপনার কোড নিচে পাতলা এবং এবং বাগগুলির জন্য পৃষ্ঠ কমানো আপনার কোড অনেক।
আমরা আমাদের আইটি বিভাগকেও রাজি করিয়েছিলাম যে সম্ভবত আমাদের নতুন সরঞ্জামগুলি (জেআইআরএ, ফিশিয়ে, ক্রুসিবল, কনফিলেন্স, জেনকিনস) ব্যবহার করা জায়গাটির চেয়ে ভাল। আমাদের তবুও আমরা ত্রুটিযুক্ত কিছু (কিউসি, শেয়ারপয়েন্ট এবং সাপোর্ট ওয়ার্কস ...) এর সাথে মোকাবিলা করার দরকার ছিল, তবে এটি একটি সামগ্রিক উন্নত অভিজ্ঞতা ছিল, আরও কিছু জায়গা বাকি ছিল।
এবং প্রতিদিন, এখন এক থেকে কয়েক ডজন কমিটের মধ্যে একটি কৌশল রয়েছে যা কেবলমাত্র জিনিসগুলি সংশোধন এবং পুনরায় সংশোধন করার ক্ষেত্রে ডিল করে। আমরা মাঝে মাঝে স্টাফ ভাঙ্গি (আপনার ইউনিট পরীক্ষাগুলি প্রয়োজন, এবং আপনি চুল্লিগুলি দূরে সরিয়ে দেওয়ার আগে এগুলি আরও ভাল লিখুন ), তবে সামগ্রিকভাবে আমাদের মনোবল এবং পণ্যটির জন্য উপকার প্রচুর। আমরা সেখানে একবারে কোডের মানের শতাংশের একটি ভগ্নাংশ পাই। এবং এটি বৃদ্ধি দেখতে মজা !!!
দ্রষ্টব্য: আবারও নতুন এবং আরও ভাল জিনিসের জন্য জায়গা তৈরি করতে দৃ rig়তাটিকে কাঁপানো দরকার। আমার উপাখ্যানটিতে, আমাদের আইটি বিভাগ আমাদের উপর কিছু জিনিস চাপিয়ে দেওয়ার চেষ্টা করার ক্ষেত্রে আংশিকভাবে সঠিক , এবং অন্যের পক্ষেও ভুল। অথবা তারা সঠিক হতে পারে । কিছু পরিবর্তন. প্রমাণ করুন যে এগুলি আপনার উত্পাদনশীলতা বৃদ্ধির আরও ভাল উপায়। ট্রায়াল-রান এবং প্রোটোটাইপগুলি এখানে এটির জন্য।
দুর্দান্ত গোপনীয়তার জন্য সুপার-সিক্রেট বর্ধমান স্প্যাগেটি কোড রিফ্যাক্টরিং সাইকেল
+-----------------+ +-----------------+
| A N A L Y Z E +----->| I D E N T I F Y |
+-----------------+ +---------+-------+
^ |
| v
+--------+--------+ +-----------------+
| C L E A N +<-----| F I X |
+-----------------+ +-----------------+
আপনার টুলবেলেটে একবার আপনার কাছে কয়েকটি মানের সরঞ্জাম রয়েছে:
কোড মানের চেকারদের সাথে আপনার কোড বিশ্লেষণ করুন।
লিটার, স্থির বিশ্লেষক বা আপনার কী আছে।
আপনার সমালোচনামূলক হটস্পট এবং কম ঝুলন্ত ফলগুলি সনাক্ত করুন ।
লঙ্ঘনের তীব্রতার মাত্রা রয়েছে, এবং প্রচুর পরিমাণে উচ্চ-তীব্রতার বৃহত শ্রেণি একটি বড় লাল পতাকা: যেমন, তারা রেডিয়েটার / হিটম্যাপ ধরণের ধরণের "হট স্পট" হিসাবে উপস্থিত হয়।
প্রথমে হটস্পটগুলি ঠিক করুন।
এটি আপনার প্রভাব সর্বাধিক ব্যবসায়ের মান হওয়ায় একটি স্বল্প সময়ের মধ্যে সীমাবদ্ধ করে। আদর্শভাবে, সমালোচনামূলক লঙ্ঘনগুলি উপস্থিত হওয়ার সাথে সাথেই তাদের মোকাবেলা করা উচিত, কারণ তারা সম্ভাব্য সুরক্ষা দুর্বলতা বা ক্র্যাশ কারণ এবং একটি দায় চাপিয়ে দেওয়ার উচ্চ ঝুঁকির উপস্থিতি (এবং আপনার ক্ষেত্রে ল্যাবটির জন্য খারাপ কার্য সম্পাদন) করে।
স্বয়ংক্রিয় কোডবেস সুইপ দিয়ে নিম্ন স্তরের লঙ্ঘন পরিষ্কার করুন ।
এটি সিগন্যাল থেকে শয়েজ অনুপাতকে উন্নত করে যাতে আপনি আপনার রাডারটিতে উপস্থিত হওয়ার সাথে সাথে উল্লেখযোগ্য লঙ্ঘন দেখতে সক্ষম হন। প্রথমে ছোটখাটো লঙ্ঘনের একটি বিশাল সেনাবাহিনী প্রায়শই থাকে যদি তাদের কখনও যত্ন না নেওয়া হয় এবং আপনার কোডবেজটি বন্যের মধ্যে ছেড়ে দেওয়া হয়। তারা প্রকৃত "ঝুঁকি" উপস্থাপন করে না তবে তারা কোডটির পঠনযোগ্যতা এবং রক্ষণাবেক্ষণযোগ্যতা ক্ষুণ্ন করে। কোনও টাস্কে কাজ করার সময় আপনি যখন তাদের সাথে দেখা করেন সেগুলি সমাধান করুন, অথবা যদি সম্ভব হয় তবে স্বয়ংক্রিয় কোডের সাথে বড় পরিস্কার অনুসন্ধানের মাধ্যমে Fix আপনার যদি ভাল টেস্ট স্যুট এবং ইন্টিগ্রেশন সিস্টেম না থাকে তবে বড় অটো-সুইপগুলি সম্পর্কে সতর্ক হন। বিরক্তি হ্রাস করার জন্য সহ-কর্মীদের সঠিক সময় চালানোর জন্য তাদের সাথে একমত হওয়ার বিষয়টি নিশ্চিত করুন।
আপনি সন্তুষ্ট না হওয়া পর্যন্ত পুনরাবৃত্তি করুন ।
যা আদর্শভাবে আপনার কখনই হওয়া উচিত নয়, যদি এটি এখনও একটি সক্রিয় পণ্য: এটি বিকশিত হতে থাকবে।
ভাল ঘর রাখার জন্য দ্রুত টিপস
যখন কোনও গ্রাহক সহায়তা অনুরোধের ভিত্তিতে হটফিক্স-মোডে থাকে :
- অন্য ইস্যুগুলি ঠিক করার পক্ষে না যাওয়ার জন্য এটি একটি সেরা অনুশীলন , কারণ আপনি নতুনভাবে অনিচ্ছায় পরিচয় করিয়ে দিতে পারেন।
- এটি সিল-স্টাইলে যান : প্রবেশ করুন, বাগটি মেরে ফেলুন , বেরিয়ে আসুন এবং আপনার প্যাচ শিপ করুন। এটি একটি অস্ত্রোপচার এবং কৌশলগত স্ট্রাইক।
তবে অন্যান্য সমস্ত ক্ষেত্রে , আপনি যদি কোনও ফাইল খোলেন, তবে এটিকে আপনার দায়িত্ব:
- অবশ্যই: এটি পর্যালোচনা (নোট গ্রহণ, ফাইল ইস্যু রিপোর্ট),
- হতে পারে: এটি পরিষ্কার করুন (স্টাইল ক্লিনআপস এবং ছোটখাটো লঙ্ঘন),
- আদর্শভাবে: এটি রিফ্যাক্টর (বৃহত বিভাগ এবং তাদের নেগ্রোসেস পুনর্গঠন করুন)।
এক সপ্তাহ থেকে ফাইল থেকে ফাইল এবং একাধিক বৈশিষ্ট্য এবং মডিউল বিস্তৃত হাজার হাজার ফিক্সের বিশাল পরিবর্তনের সমাপ্তি অবধি বিভ্রান্ত হবেন না - এটি ভবিষ্যতের ট্র্যাকিংকে কঠিন করে তোলে। কোডে একটি সমস্যা = আপনার ট্র্যাকারে একটি টিকিট। কখনও কখনও, একটি পরিবর্তনটি একাধিক টিকিটকে প্রভাবিত করতে পারে; তবে যদি এটি প্রায়শই ঘটে থাকে তবে আপনি সম্ভবত কিছু ভুল করছেন।
সংযোজন: ভিজ্যুয়াল প্রোগ্রামিং পরিবেশ পরিচালনা করা
বেসপোক প্রোগ্রামিং সিস্টেমগুলির ওয়াল্ড গার্ডেন
একাধিক প্রোগ্রামিং সিস্টেমগুলি, ওপি'র জি 2 এর মতো হ'ল বিভিন্ন জন্তু ...
কোনও উত্স "কোড" নেই
প্রায়শই তারা আপনাকে আপনার উত্স "কোড" এর একটি পাঠ্য উপস্থাপনায় অ্যাক্সেস দেয় না: এটি কোনও মালিকানাধারী বাইনারি ফর্ম্যাটে সংরক্ষণ করা হতে পারে, বা এটি টেক্সট ফর্ম্যাটে জিনিসপত্র রাখে তবে সেগুলি আপনার থেকে দূরে রাখে। বেসপোক গ্রাফিকাল প্রোগ্রামিং সিস্টেমগুলি গবেষণাগারগুলিতে আসলে অস্বাভাবিক নয়, কারণ তারা পুনরাবৃত্ত ডেটা প্রসেসিংয়ের কার্যপ্রবাহের অটোমেশনকে সহজ করে।
কোনও সরঞ্জামকরণ নেই
একপাশে তাদের নিজস্ব থেকে, যে। আপনি প্রায়শই তাদের প্রোগ্রামিং পরিবেশ, তাদের নিজস্ব ডিবাগার, তাদের নিজস্ব দোভাষী, তাদের নিজস্ব ডকুমেন্টেশন সরঞ্জাম এবং ফর্ম্যাট দ্বারা সীমাবদ্ধ থাকেন। এগুলি
প্রাচীরযুক্ত উদ্যানগুলি ব্যতীত, যদি শেষ পর্যন্ত তারা তাদের ফর্ম্যাটগুলি বিপরীত করতে যথেষ্ট প্ররোচিত ব্যক্তির আগ্রহ ক্যাপচার করে এবং বাহ্যিক সরঞ্জামগুলি তৈরি করে - যদি লাইসেন্স অনুমতি দেয় তবে।
ডকুমেন্টেশন অভাব
বেশিরভাগ ক্ষেত্রে, এগুলি কুলুঙ্গি প্রোগ্রামিং সিস্টেম, যা মোটামুটি বদ্ধ পরিবেশে ব্যবহৃত হয়। যে লোকেরা এগুলি ব্যবহার করে তারা প্রায়শই এনডিএতে স্বাক্ষর করে এবং কখনই তারা তাদের কাজ সম্পর্কে কথা বলে না। তাদের জন্য প্রোগ্রামিং সম্প্রদায়গুলি বিরল। সুতরাং সংস্থান অপ্রতুল। আপনি আপনার অফিসিয়াল রেফারেন্সের সাথে আটকে আছেন, এবং এটিই।
ব্যঙ্গাত্মক (এবং প্রায়শই হতাশাব্যঞ্জক) বিটটি হ'ল মূলধারার এবং সাধারণ উদ্দেশ্যে প্রোগ্রামিং ভাষা ব্যবহার করে এবং সম্ভবত আরও দক্ষতার সাথে এই সিস্টেমগুলি যে সমস্ত জিনিস স্পষ্টতই অর্জন করতে পারে তা অর্জন করা যেতে পারে। তবে এটির জন্য প্রোগ্রামিংয়ের গভীর জ্ঞান প্রয়োজন, যেখানে আপনি আপনার জীববিজ্ঞানী, রসায়নবিদ বা পদার্থবিদ (কয়েকজনের নামকরণ) প্রোগ্রামিং সম্পর্কে পর্যাপ্ত পরিমাণে জানতে এবং এমনকি বাস্তবায়নের (এবং বজায় রাখতে) সময় (এবং ইচ্ছা) পাওয়ারও কম আশা করতে পারবেন না জটিল সিস্টেমগুলি, যা দীর্ঘকালীন বা নাও থাকতে পারে। আমরা ডিএসএলগুলি একই কারণে ব্যবহার করি, আমাদের কাছে এই বিসপোক প্রোগ্রামিং সিস্টেম রয়েছে।
ব্যক্তিগত উপাখ্যান 2:আসলে, আমি নিজেই এর একটিতে কাজ করেছি। আমি ওপির অনুরোধের সাথে লিঙ্কটি করিনি, তবে আমার প্রকল্পটি ডেটা-প্রসেসিং এবং ডেটা-স্টোরেজ সফ্টওয়্যার (মূলত বায়ো-ইনফরম্যাটিক্স গবেষণা, স্বাস্থ্যসেবা এবং প্রসাধনীগুলির জন্য, তবে ব্যবসায়ের জন্য) আন্ত-সংযুক্ত বড় টুকরাগুলির একটি সেট ছিল বুদ্ধি, বা যে কোনও ডোমেন যেকোন প্রকারের গবেষণামূলক ডেটার বিশাল পরিমাণের ট্র্যাকিং এবং ডেটা-প্রসেসিং ওয়ার্কফ্লো এবং ইটিএল প্রস্তুতকরণকে বোঝায়)। এই অ্যাপ্লিকেশনগুলির মধ্যে একটি হ'ল ভিজ্যুয়াল আইডিই যা সাধারণ ঘণ্টা এবং হুইসেল ব্যবহার করেছিল: ড্র্যাগ এবং ড্রপ ইন্টারফেস, সংস্করণযুক্ত ওয়ার্কস্পেস (মেটাডাটা স্টোরেজের জন্য টেক্সট এবং এক্সএমএল ফাইলগুলি ব্যবহার করে), ভিন্ন ভিন্ন ডেটাসোর্সে প্রচুর প্লাগেবল ড্রাইভার এবং একটি দৃশ্য এন ডাটাসোর্স থেকে ডেটা প্রক্রিয়া করার জন্য পাইপলাইনগুলি ডিজাইন করার ক্যানভাস এবং শেষ পর্যন্ত এম ট্রান্সফর্মড আউটপুট জেনারেট করে, এবং সম্ভাব্য চকচকে ভিজ্যুয়ালাইজেশন এবং জটিল (এবং ইন্টারেক্টিভ) অনলাইন প্রতিবেদনগুলি। আপনার সাধারণ bespoke ভিজ্যুয়াল প্রোগ্রামিং সিস্টেম, ব্যবহারকারীদের প্রয়োজন অনুসারে একটি সিস্টেম ডিজাইনের ভান করে কিছুটা NIH সিন্ড্রোমে ভুগছে।
এবং, যেমনটি আপনি প্রত্যাশা করবেন, এটি একটি দুর্দান্ত সিস্টেম, এটির প্রয়োজনের জন্য বেশ নমনীয় যদিও মাঝে মাঝে কিছুটা উপরে উঠে আসে যাতে আপনি অবাক হন যে "পরিবর্তে কমান্ড-লাইন সরঞ্জামগুলি ব্যবহার করবেন না কেন?", এবং দুর্ভাগ্যক্রমে সর্বদা মাঝারি আকারের নেতৃত্ব দেয় টিম বড় প্রকল্পে বিভিন্ন "সেরা" অনুশীলনগুলির সাথে এটি ব্যবহার করে অনেক লোকের কাছে কাজ করে।
দুর্দান্ত, আমরা ডুমড! - আমরা এটি সম্পর্কে কি করব?
ঠিক আছে, শেষ পর্যন্ত, উপরের সমস্ত এখনও ধারণ করে। আপনি যদি আরও মূলধারার সরঞ্জাম এবং ভাষা ব্যবহার করতে এই সিস্টেম থেকে বেশিরভাগ প্রোগ্রামিং বের করতে না পারেন তবে আপনার "সবেমাত্র" আপনার সিস্টেমের সীমাবদ্ধতার সাথে নিজেকে খাপ খাইয়ে নিতে হবে।
সংস্করণ এবং স্টোরেজ সম্পর্কে
শেষ পর্যন্ত, আপনি সর্বাধিক সীমাবদ্ধ এবং প্রাচীরযুক্ত পরিবেশ সহ প্রায় সবসময় জিনিসগুলিকে সংস্করণ করতে পারেন । প্রায়শই না এর চেয়েও বেশি, এই সিস্টেমগুলি এখনও তাদের নিজস্ব সংস্করণ নিয়ে আসে (যা দুর্ভাগ্যক্রমে প্রায়শই বরং মৌলিক এবং কেবল পূর্ববর্তী স্নাপশটগুলি রেখে, খুব বেশি দৃশ্যমানতা ছাড়াই পূর্ববর্তী সংস্করণগুলিতে ফিরে যাওয়ার প্রস্তাব দেয়)। এটি আপনার পছন্দের এসসিএম এর মতো ডিফারেন্সিয়াল চেঞ্জসেটগুলি ঠিক ব্যবহার করছে না এবং এটি একাধিক ব্যবহারকারী একসাথে পরিবর্তন জমা দেওয়ার পক্ষে উপযুক্ত নয়।
তবে তবুও, যদি তারা এই জাতীয় কার্যকারিতা সরবরাহ করে তবে আপনার সমাধানটি হ'ল উপরের আমাদের প্রিয় শিল্প-মানক নির্দেশিকাগুলি অনুসরণ করুন এবং তাদের এই প্রোগ্রামিং সিস্টেমে স্থানান্তরিত করুন !!
স্টোরেজ সিস্টেমটি যদি একটি ডাটাবেস হয় তবে এটি সম্ভবত রফতানি কার্যকারিতা প্রকাশ করে, বা ফাইল-সিস্টেমের স্তরে ব্যাক আপ নেওয়া যেতে পারে। যদি এটি কোনও কাস্টম বাইনারি ফর্ম্যাট ব্যবহার করে তবে সম্ভবত আপনি এটি কোনও ভিসিএসের সাথে বাইনারি ডেটার জন্য ভাল সমর্থন সহ সংস্করণ করার চেষ্টা করতে পারেন। আপনার জরিমানা নিয়ন্ত্রণ থাকবে না তবে কমপক্ষে আপনার পিছনে বিপর্যয়ের বিরুদ্ধে .াকা থাকবে এবং একটি নির্দিষ্ট ডিগ্রি দুর্যোগ পুনরুদ্ধারের সম্মতি পাবেন।
পরীক্ষা সম্পর্কে
প্ল্যাটফর্মের মধ্যেই নিজের পরীক্ষাগুলি প্রয়োগ করুন এবং নিয়মিত ব্যাকআপ সেট আপ করতে বাহ্যিক সরঞ্জাম এবং পটভূমি কাজগুলি ব্যবহার করুন। বেশ সম্ভবত, আপনি এই পরীক্ষাগুলি একইভাবে জ্বালিয়ে দেন যা আপনি এই প্রোগ্রামিং সিস্টেমের সাথে বিকাশিত প্রোগ্রামগুলিকে জ্বালিয়ে দেবেন।
অবশ্যই, এটি একটি হ্যাকের কাজ এবং অবশ্যই "সাধারণ" প্রোগ্রামিংয়ের জন্য সাধারণ যা তার স্ট্যান্ডার্ড অনুসারে নয়, তবে পেশাদার সফ্টওয়্যার বিকাশের প্রক্রিয়াটির একটি লক্ষণ বজায় রাখার চেষ্টা করার সময় সিস্টেমটির সাথে অভিযোজিত হওয়া ধারণাটি।
রাস্তাটি দীর্ঘ এবং খাড়া ...
কুলুঙ্গি পরিবেশ এবং bespoke প্রোগ্রামিং সিস্টেমের সাথে সর্বদা হিসাবে, এবং যেমনটি আমরা উপরে প্রকাশ করেছি, আপনি অদ্ভুত ফর্ম্যাটগুলির সাথে মোকাবিলা করেন, কেবলমাত্র ক্লিনকি সরঞ্জামগুলির একটি সীমাবদ্ধ (বা সম্পূর্ণ অনভিজ্ঞ) এবং একটি সম্প্রদায়ের জায়গায় একটি শূন্যতা।
প্রস্তাবনা: আপনার বিসপোক প্রোগ্রামিং সিস্টেমের বাইরের উপরের নির্দেশিকাগুলি যথাসম্ভব কার্যকর করার চেষ্টা করুন। এটি নিশ্চিত করে যে আপনি "সাধারণ" সরঞ্জামগুলিতে নির্ভর করতে পারেন, যার যথাযথ সমর্থন এবং সম্প্রদায় ড্রাইভ রয়েছে।
কার্যকারণ: যখন এটি কোনও বিকল্প নয়, আপনার "বাক্সে" এই বিশ্বব্যাপী কাঠামোটি পুনঃনির্মাণের চেষ্টা করুন। ধারণাটি হ'ল আপনার প্রোগ্রামিং সিস্টেমের শীর্ষে শিল্পের স্ট্যান্ডার্ড সেরা অনুশীলনগুলির এই নীলনকশাটি overেকে ফেলুন এবং এর সেরাটি তৈরি করুন। পরামর্শটি এখনও প্রযোজ্য: কাঠামো এবং সর্বোত্তম অনুশীলনগুলি সংজ্ঞায়িত করুন, সংগতিকে উত্সাহিত করুন।
দুর্ভাগ্যক্রমে, এর দ্বারা বোঝা যায় যে আপনাকে ডুব দেওয়ার দরকার হবে এবং প্রচুর পরিমাণে লেগ-ওয়ার্ক করতে হবে। তাই ...
বিখ্যাত সর্বশেষ শব্দ এবং বিনীত অনুরোধগুলি:
- আপনি যা কিছু করেন তা নথিভুক্ত করুন।
- আপনার অভিজ্ঞতা ভাগ করুন।
- আপনার লেখার কোনও সরঞ্জাম ওপেন সোর্স ।
এই সমস্ত কাজ করে, আপনি:
- অনুরূপ পরিস্থিতিতে লোকের কাছ থেকে সমর্থন পাওয়ার সম্ভাবনা কেবল বাড়িয়ে দেবেন না,
- তবে অন্যান্য ব্যক্তিদের সহায়তা এবং আপনার প্রযুক্তি স্ট্যাকের চারপাশে আলোচনার জন্ম দিন।
কে জানে, আপনি অস্পষ্ট ভাষা এক্স এর একটি নতুন প্রাণবন্ত সম্প্রদায়ের শুরুতেই হতে পারেন । যদি কিছু না থাকে তবে একটি শুরু করুন!
এটি ভিতরে সুন্দর হতে পারে তবে এখন পর্যন্ত কারও কাছে কোনও ধারণা নেই , তাই এই কুৎসিত প্রাচীরটি নামাতে এবং অন্যকে উঁকি দেওয়াতে সহায়তা করুন!