Improve deprecation of BLE API features
- Dominant language
- C++
- Stars
- 81
- Forks
- 71
- PR merge metrics
- No merged PRs in 30d
Description
Deprecation of features of BLE API can be more visible to end user. There is two ways to improve this:
- Documentation: doxygen support a directive for deprecated elements: `\deprecated`. This tag should be use for all deprecated entities in BLE API.
- Warning at compile time: [compiler-polyfill](https://github.com/ARMmbed/compiler-polyfill) now support a `__deprecated_message` macro. It can be used to provide a usefull information about deprecated feature at compilation time. This feature can be used to tag the following entities:
- functions: `void foo(void) __deprecated_message("This function is deprecated, use void bar(void) instead")`
- variables: `int foo __deprecated_message("This variable is deprecated, use bar instead") = 0`;
- variables: `int foo __deprecated_message("This variable is deprecated, use bar instead") = 0`;
- types: `class Foo __deprecated_message("Foo class is deprecated, use Bar instead") { };`
- typedef: `typedef Foo Bar __deprecated_message("This typedef is deprecated, use Baz instead")`
Contributor guide
Research direction
Start by identifying the deprecated entities in the BLE API and checking how Doxygen's \deprecated directive and compiler-polyfill's __deprecated_message macro are supported. Done means deprecated API functions, variables, types, and typedefs have visible documentation and useful compile-time deprecation messages, but the issue does not name specific files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- api, embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100