ARMmbed / ARMmbed/ble

Improve deprecation of BLE API features

Open
#152 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.