अपने एपीआई में एक नई विधि (या विधियों) को इस तरह से जोड़ा जाना चाहिए कि मौजूदा एपीआई पर इसका कोई दुष्प्रभाव न हो। सबसे महत्वपूर्ण बात, कोई व्यक्ति जो पुराने एपीआई का उपयोग करना जारी रखता है जैसे कि नया एपीआई मौजूद नहीं है, इसे अप्रभावित किया जाना चाहिए। पुराने एपीआई का उपयोग करने से नए एपीआई पर अप्रत्याशित दुष्प्रभाव नहीं होना चाहिए ।
यदि API में कोई भी मौजूदा तरीका नए लोगों द्वारा अलग किया गया है, तो उन्हें सीधे न निकालें। उन्हें पदावनत के रूप में चिह्नित करें और इसके बदले एक स्पष्टीकरण प्रदान करें कि इसका क्या उपयोग किया जाना चाहिए। यह आपके कोड चेतावनी के उपयोगकर्ताओं को देता है कि भविष्य के संस्करण अब चेतावनी के बिना अपने कोड को तोड़ने के बजाय इसका समर्थन नहीं कर सकते हैं।
यदि नए और पुराने एपीआई असंगत हैं और अवांछित दुष्प्रभावों के बिना एक साथ नहीं रह सकते हैं, तो उन्हें अलग करें और दस्तावेज करें कि यदि नई एपीआई को अपनाया जाना है, तो पुराने एपीआई को पूरी तरह से सेवानिवृत्त होना चाहिए। यह कम वांछनीय है क्योंकि हमेशा कोई ऐसा व्यक्ति होगा जो दोनों का उपयोग करने का प्रयास करता है और काम नहीं करने पर निराश हो जाता है।
चूंकि आपने .NET के बारे में विशेष रूप से पूछा था, इसलिए आप इस लेख को .NET में पदावनति के बारे में पढ़ना चाह सकते हैं , जो कि लिंक ObsoleteAttribute
(निम्न उदाहरण में प्रयुक्त):
using System;
public sealed class App {
static void Main() {
// The line below causes the compiler to issue a warning:
// 'App.SomeDeprecatedMethod()' is obsolete: 'Do not call this method.'
SomeDeprecatedMethod();
}
// The method below is marked with the ObsoleteAttribute.
// Any code that attempts to call this method will get a warning.
[Obsolete("Do not call this method.")]
private static void SomeDeprecatedMethod() { }
}