Skip to content

Conversation

@Dcano-png
Copy link

P1B: Starter Task: Refactoring PR

1. Issue

Please provide a link to the associated GitHub issue:

Link to the associated GitHub issue:
#72

Full path to the refactored file:
src/topics/suggested.js

Additional refactored: (refactored to handle parameter change)
test/topics.js

What do you think this file does?
(Your answer does not have to be 100% correct; give a reasonable, evidence‑based guess.)
The file suggested.js looks to be a suggestion feature that will appear on possibly each post. Listing similar topics to the current one clicked on.

What is the scope of your refactoring within that file?
(Name specific functions/blocks/regions touched.)
The changes made in src/topics/suggested.js was for the function getSuggestedTopics. Which consisted of me turning the parameters to an Array.

For the changes in the test/topics.js, I had to alter on how the getSuggestedTopics was being called which included making sure the test parameters were an Array.

Which Qlty‑reported issue did you address?
(Name the rule/metric and include the BEFORE value; e.g., “Cognitive Complexity 18 in render()”.)
Function with many parameters 5 in getSuggestedTopics().

2. Refactoring

How did the specific issue you chose impact the codebase’s adaptability?
The codebase's adaptability was not entirely impacted by the issue as the issue only existed within test. Potentially this issue could have messed with the code coverage of the codebase.

What changes did you make to resolve the issue?
I made sure that the function getSuggestedTopics parameters were made into an array, making them one object. The test file code that called the function was also altered so that the function is properly tested/covered.

How do your changes improve adaptability? Did you consider alternatives?
It maintained the codebases test coverage percentage. It would also be fixed for potential future iterations in which the feature is added and could have a UI component. This function is only used in one other (than the one that it's declared on) so there were only slight changes needed.

3. Validation

How did you trigger the refactored code path from the UI?
This feature is only used in test twice but is never called again in any other file.

Attach a screenshot of the logs and UI demonstrating the trigger.
(Run ./nodebb log; include the relevant UI view. Temporary logs should be removed before final commit.)
Screenshot 2025-09-04 172826

Attach a screenshot of qlty smells --no-snippets <full/path/to/file.js> showing fewer reported issues after the changes.
Screenshot 2025-09-04 175431

@coveralls
Copy link

Pull Request Test Coverage Report for Build 17481444308

Details

  • 1 of 1 (100.0%) changed or added relevant line in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.01%) to 78.54%

Totals Coverage Status
Change from base Build 17435863312: 0.01%
Covered Lines: 24696
Relevant Lines: 29606

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants