caxlsx
caxlsx copied to clipboard
Use `attr_writer` when validations are not needed
Offences found by fasterer
lib/axlsx/drawing/area_series.rb:49 Use attr_writer for writing to ivars.
lib/axlsx/drawing/axis.rb:89 Use attr_writer for writing to ivars.
lib/axlsx/drawing/bar_series.rb:48 Use attr_writer for writing to ivars.
lib/axlsx/drawing/bubble_series.rb:37 Use attr_writer for writing to ivars.
lib/axlsx/drawing/line_series.rb:49 Use attr_writer for writing to ivars.
lib/axlsx/drawing/scatter_series.rb:59 Use attr_writer for writing to ivars.
lib/axlsx/drawing/scatter_series.rb:70 Use attr_writer for writing to ivars.
lib/axlsx/workbook/worksheet/conditional_formatting.rb:64 Use attr_writer for writing to ivars.
lib/axlsx/workbook/worksheet/rich_text_run.rb:21 Use attr_writer for writing to ivars.
lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb:36 Use attr_writer for writing to ivars.
https://github.com/caxlsx/caxlsx/blob/62b9d37ab5fd5e9cda8d9d53a934577daadf9623/lib/axlsx/drawing/area_series.rb#L49-L51
https://github.com/caxlsx/caxlsx/blob/62b9d37ab5fd5e9cda8d9d53a934577daadf9623/lib/axlsx/drawing/axis.rb#L89-L91
https://github.com/caxlsx/caxlsx/blob/62b9d37ab5fd5e9cda8d9d53a934577daadf9623/lib/axlsx/drawing/bar_series.rb#L48-L50
https://github.com/caxlsx/caxlsx/blob/62b9d37ab5fd5e9cda8d9d53a934577daadf9623/lib/axlsx/drawing/bubble_series.rb#L37-L39
https://github.com/caxlsx/caxlsx/blob/62b9d37ab5fd5e9cda8d9d53a934577daadf9623/lib/axlsx/drawing/line_series.rb#L49-L51
https://github.com/caxlsx/caxlsx/blob/62b9d37ab5fd5e9cda8d9d53a934577daadf9623/lib/axlsx/drawing/scatter_series.rb#L59-L61 https://github.com/caxlsx/caxlsx/blob/62b9d37ab5fd5e9cda8d9d53a934577daadf9623/lib/axlsx/drawing/scatter_series.rb#L70-L72
https://github.com/caxlsx/caxlsx/blob/62b9d37ab5fd5e9cda8d9d53a934577daadf9623/lib/axlsx/workbook/worksheet/conditional_formatting.rb#L64
https://github.com/caxlsx/caxlsx/blob/62b9d37ab5fd5e9cda8d9d53a934577daadf9623/lib/axlsx/workbook/worksheet/rich_text_run.rb#L21-L23
https://github.com/caxlsx/caxlsx/blob/62b9d37ab5fd5e9cda8d9d53a934577daadf9623/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb#L36-L38
There are several options here:
- For uniformity, setting those variables should keep using
method=
- For performance and code quality, those variables should use
attr_writer
- Some validations are missing
Comparison (IPS 2.6.10):
attr_writer: 16354506.9 i/s
method: 14390115.2 i/s - 1.14x (± 0.00) slower
Comparison (IPS 3.2.2):
attr_writer: 16205198.6 i/s
method: 14282149.6 i/s - 1.13x (± 0.00) slower