brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
software-engineering-deprecation-strategiesDefines effective strategies for deprecating features and APIs in software applications to ensure a smooth transition for users and clients.
Independent GitHub snapshot · Automated classification · Original documentation governs
name: software-engineering-deprecation-strategies
description: Defines effective strategies for deprecating features and APIs in software applications to ensure a smooth transition for users and clients. license: MIT compatibility: opencode metadata: version: "1.1.0" domain: coding triggers: deprecation strategies, feature removal, backward compatibility, versioning role: implementation scope: implementation output-format: code related-skills: software-engineering-backwards-compatibility archetypes: strategic, tactical anti_triggers: abrupt removal, lack of communication response_profile: medium
Deprecating features and APIs is a crucial part of software maintenance. This skill outlines actionable strategies to remove outdated features while maintaining a positive experience for users.
Use warnings that inform users about deprecated features in libraries or APIs.
import warnings
def old_function():
warnings.warn("old_function is deprecated, use new_function instead", DeprecationWarning)
# Old functionality
pass
def new_function():
# New recommended functionality
pass
# Usage
old_function() # This will trigger a deprecation warning
Once features are fully deprecated, the next step can be to remove them in the next major version release while ensuring that users are prepared.
class DeprecationExample:
def __init__(self):
self.supported = True
def deprecated_method(self):
raise NotImplementedError("This method is deprecated and has been removed. Please use new_method instead.")
def new_method(self):
# New method implementation
pass
# Example of using the deprecation
try:
obj = DeprecationExample()
obj.deprecated_method() # This will raise an error
except NotImplementedError as e:
print(e)
Authoritative documentation links for this skill's domain. The model follows markdown links at load time to resolve external references and inline content.