কেন সেখানে প্রথম স্থান আছে?
আপনি মূল লাইনে অস্থির কোডটি পরীক্ষা করেছেন? কেন?
অস্থির কোডটি ট্রাঙ্ক / প্রধান / মাস্টার বা মূল ট্রাঙ্কের নাম যাই হোক না কেন যাচাই করা উচিত নয়। এটি উচ্চ ঝুঁকির বিকাশ হিসাবে বিবেচিত হয় এবং এর পরিবর্তে মূল শাখার পরিবর্তে আপনি যে নিজস্ব কাজ করেছিলেন সেটিতে তার নিজস্ব শাখায় আলাদা করা উচিত ছিল।
উন্নত এসসিএম শাখা কৌশলগুলি পড়তে আমি আপনাকে (এবং আপনার দলের নেতৃত্ব) দৃ strongly়ভাবে উত্সাহিত করব । বিশেষত, উন্নয়নের ভূমিকার দিকে মনোনিবেশ করুন এবং এটি কী উচ্চ ঝুঁকিপূর্ণ উন্নয়ন হিসাবে বিবেচিত হবে সে সম্পর্কে কী বলে:
সাধারণভাবে, প্রতিটি উচ্চ-ঝুঁকিপূর্ণ প্রকল্পের জন্য পৃথক শাখা ব্যবহার করার বিষয়টি বিবেচনা করুন। উচ্চ ঝুঁকির প্রকল্পগুলি বিশাল আকার, বিশাল সংখ্যক লোক, অচেনা বিষয়, অত্যন্ত প্রযুক্তিগত বিষয়, খুব আঁটসাঁট সময়সীমা, অনিশ্চিত সরবরাহের তারিখ, অসম্পূর্ণ বা অস্থির প্রয়োজনীয়তা এবং ভৌগোলিকভাবে বিতরণ প্রকল্প দলগুলির দ্বারা চিহ্নিত হয়। একইভাবে, প্রতিটি রিলিজে কম ঝুঁকিপূর্ণ বিকাশের জন্য একটি একক শাখা মনোনীত বিবেচনা করুন। [Wing98] সহ বেশ কয়েকটি উত্স এই উদ্দেশ্যে মূল লাইনটি ব্যবহার করার পরামর্শ দেয়। এই ক্রিয়াকলাপটি প্রতিশ্রুতিবদ্ধ হওয়ার আগে মূলধারার জন্য উপরোক্ত বিষয়গুলি বিবেচনা করুন। আপনার কাছে যদি কোনও পণ্য পরিবারের একাধিক সদস্য মূল লাইনের মাধ্যমে সমন্বয় করে থাকেন তবে কম ঝুঁকিপূর্ণ বিকাশের মূল লাইন থেকে আলাদা নীতি থাকতে পারে।
লোকগুলিকে মূল লাইনে অস্থির (বা অব্যবহৃত) কোডটি পরীক্ষা করার অর্থ এই যে আপনি এই কোডটি বজায় রাখার চেষ্টা সম্পর্কে ভবিষ্যতের বিকাশের প্রচেষ্টা গুলিয়ে ফেলবেন। সময় থেকে শেষ হওয়া অবধি প্রতিবেদনের প্রতিটি শাখা এবং ক্লোন এটি অবধি থাকবে যতক্ষণ না কেউ "এটির ডেড কোড" বলে এবং এটি মুছে না ফেলে।
এমন কিছু আছে যা বলে "ভাল, যদি এটি একটি শাখায় এটি ভুলে যায়" এবং এটি সত্য হতে পারে, মাইনলাইনটিতে মৃত (এবং অস্থির) কোডটি ভুলে যাওয়া বহুগুণ খারাপ কারণ এটি ভবিষ্যতের বিকাশকে মুছে ফেলা পর্যন্ত বিভ্রান্ত করে তোলে - এবং তাহলে এটি আরও ভুলে যায়। "/ FooProject / শাখা / WeisBigIdea" (বা সমতুল্য) এর একটি সুন্দর নামযুক্ত শাখা ভবিষ্যতে কাজ করা দৃশ্যমান এবং সহজ - বিশেষত যদি এটি ধরনের কাজ করে।
@Deprecated
প্রথম জিনিসটি @Deprecated
টীকাগুলি। এটি জাভাডোক ছাড়িয়ে যায় এবং সংকলক সতর্কবার্তা স্পিট করে। javac
এমন একটি -deprecation
পতাকা সরবরাহ করে যা বর্ণনা করা হয়েছে:
অবহিত সদস্য বা শ্রেণীর প্রতিটি ব্যবহারের বিবরণ বা ওভাররাইড দেখান। ছাড়াই -deprecation
, javac
উত্স ফাইলগুলির একটি সংক্ষিপ্তসার দেখায় যা অবহেলিত সদস্য বা শ্রেণিগুলি ব্যবহার করে বা ওভাররাইড করে। -প্রশংসনের জন্য সংক্ষিপ্ত -Xlint:deprecation
।
যেমনটি উল্লেখ করা হয়েছে, এটি স্ট্যান্ডার্ড সংকলক সতর্কতাগুলির উপরে এবং অতিক্রম করে।
অনেক আইডিইতে, অবহেলিত পদ্ধতি এবং মানগুলি স্ট্রাইকথ্রু সহ প্রদর্শিত হয়:
foo.bar();
এবং আউটপুট উত্পাদন করতে হবে:
$ javac -Xlint:all Foo.java Bar.java
Bar.java:2: warning: [deprecation] Foo in unnamed package has been deprecated
interface Bar extends Foo { }
^
আপনার বিল্ড কাঠামোর উপর নির্ভর করে আপনার সতর্কতাগুলি বিল্ডটি ভেঙে দিতে পারে। এটি কেবল তখনই বিল্ডটি ভেঙে ফেলবে যদি আপনার ক্লাসগুলির একটি ব্যবহার করা হয় (এটি কেবল কেবল সংকলন করা না থাকলে)।
@CustomAnnotation
এটি অনেক পন্থা আছে। উদাহরণস্বরূপ, লাইটওয়েট জাভ্যাক @ ওয়ার্নিং এন্টোটেশন যা এমন একটি এনোটেশন প্রসেসর সরবরাহ করে যা সংকলনের সময় একটি সতর্কতা বন্ধ করে দেয় যখন সেই টীকাগুলির সাথে কিছু ব্যবহার করা হয় ( কাস্টম এনটোটেশন প্রসেসরের উপর একটি নেটবিয়ান টিউটোরিয়াল যাতে আপনি পিছনে কী চলছে তার একটি ধারণা পেতে পারেন) লোকচক্ষুর)।
ওরাকল এমনকি জাভার মেটাডেটা, পার্ট 2: কাস্টম টীকাগুলির সর্বাধিক@Unfinished
উপার্জনে একটি টীকাটির জন্য কাস্টম টীকাগুলি ব্যবহার করার একটি উদাহরণও বর্ণনা করে ।
অ্যানোটেশন প্রসেসর দিয়ে আপনি সংকলন সময়ে স্বেচ্ছাসেবক কোড চালাতে পারেন। আপনি এটি কী করতে চান তা সিদ্ধান্ত নেওয়া আপনার পক্ষে সত্য। সতর্কতা দিন, কিছু ব্যবহার করার সময় বিল্ডটি ভেঙে দিন। এই ধরণের কোডটি কীভাবে লিখতে হয় তার জন্য ওয়েবে প্রচুর টিউটোরিয়াল রয়েছে। এটি সঙ্কলিত হওয়ার সময় আপনি কোনও ত্রুটি উত্পন্ন করতে চান কিনা (এটি বিরক্তিকর হবে এবং এটি মুছে ফেলার দিকে পরিচালিত করবে) অথবা যদি এটি ব্যবহার করা হয় (লেখার ক্ষেত্রে আরও কিছুটা জটিল)।
মনে রাখবেন যে এগুলি সমস্তই প্রকৃতপক্ষে টীকা প্রসেসরটি ব্যবহারের জন্য বিল্ডগুলি পরিবর্তন করে।