Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.net analyzer ideas #37

Open
4 tasks done
pakrym opened this issue Apr 24, 2019 · 1 comment · Fixed by #39
Open
4 tasks done

.net analyzer ideas #37

pakrym opened this issue Apr 24, 2019 · 1 comment · Fixed by #39
Assignees

Comments

@pakrym
Copy link
Contributor

pakrym commented Apr 24, 2019

  • - Client types should have a protected parameterless ctor for mocking
  • - Client methods should be virtual
  • - Client methods should have Async suffix for async methods
  • - Client methods should take CancellationToken as the last parameter
@pakrym pakrym self-assigned this Apr 24, 2019
@pakrym pakrym closed this as completed in #39 May 3, 2019
@pakrym pakrym reopened this May 9, 2019
@pakrym
Copy link
Contributor Author

pakrym commented May 9, 2019

This should be done using a constructor parameter on the client options type.

  • The parameter must be the first parameter to all constructor overloads.
  • The parameter must not be optional, i.e. all constructor overloads must have it.
  • The parameter should be defaulted to the latest supported service version.
  • The parameter type must be an enum nested in the options type called ServiceVersion
  • The version enaum must have explicity specified value, e.g. V2019_05_09 = 0
  • Check basic/advanced ctor patterns
  • Check Response<TModel>/Operation<T>/AsyncCollection<T> return type
  • Equals/GetHashCode visibility attributes with the fix
  • I[Async]Enumerable return types
  • GetHashCode should use HashCodeBuilder
  • AspNetCore integration extension methods

sima-zhu pushed a commit to sima-zhu/azure-sdk-tools that referenced this issue Dec 3, 2020
* core library template.

* az_core

* let

* minor

* AZ_CSTR

* az_str and az_static_assert.

* az_cstr

* length

* stream

* az_http

* test

* test

* more functions

* additional options

* data state

* another try

* more

* strange

* number draft

* az_json_number

* number + string

* keywords

* az_json_token

* data types.

* data types

* Slices and index ranges.

* JSON token

* reorder

* readme

* Thoughts about reactive parser.

* something new

* errors

* digit, string

* state

* readme files

* issues

* comments

* notes

* it works

* readme.md

* a lot

* pointers

* another test

* No need for JSON state.

* No need for az_sign.h

* Stack overflow check.

* az_const_str_eq

* minor.

* ++*p => *p += 1

* C99 unions, stack push/pop.

* more tests.

* Update documentation.

* Symols.

* az_is_digit => isdigit

* Changes.

* Simplify number parsing.

* test

* Less nested `if`.

* AZ_MAKE_ERROR / AZ_MAKE_RESULT

* RETURN_IF_NOT_OK.

* az_const_str

* az_dec_number

* Test

* AZ_SPAN

* Span of bytes.

* tests

* run tests

* enable_testing()

* Fix test

* Address comments.

* az_json_read.

* az_span

* Reader

* const bug

* Tabs -> spaces (Azure#37)

* Remove the last tab occurrence (appeared after the most recent merge) (Azure#38)

* Tabs -> spaces

* internal PR (Azure#39)

* az_option_byte

* refactoring for az_json_read_keyword_rest

* az_json_read_string_rest

* az_span_reader improved.

* az_const_span_sub

* clang-format.

* CLANG

* address comments

* formatting.

* Add core error for any argument-related errors (Azure#40)

* Comments.

* Update clang-format and reformat core files (Azure#42)

Update clang-format and reformat core files

* Remove az_option

* Revert "Remove az_option"

This reverts commit bad54a61702ef5e77c16a631d9339862b4878a27.

* EOF

* Add prefix/suffix header files; Switch to 100 char width style (Azure#43)

* Add prefix/suffix header files

* Switch code formatting back to 100 char max width

* EOL@EOF

* Fix forgotten instance to include epilog

* Shorten the name for AZ_CORE_ERROR_ARGUMENT, as seen in another Sergey's branch. (Azure#44)

* _az_cfg

* AZ_ERROR_FLAG

* static assert

* counter

* inline static_assert

* dummy

* another one

* dummy function.

* defaults

* static inline

* static

* main

* GCC

* UNIX
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants