Page MenuHomePhabricator

[Refactor] Try to reduce the size of extractRefFromNode in References class
Closed, ResolvedPublic

Description

It's likely that we'll be working more on the Cite Parsoid code in the future. The codebase is still a quite long outcome of the cross complied JS Parsoid.

  • Extract validation / error handling: new functions for validating the attributes (name, group, etc.)
  • Extract methods
  • Reorder code according to purpose

Event Timeline

Change #1100454 had a related patch set uploaded (by WMDE-Fisch; author: WMDE-Fisch):

[mediawiki/extensions/Cite@master] [refactor] Parsoid: Rename and reorder some code for readability

https://gerrit.wikimedia.org/r/1100454

Change #1101453 had a related patch set uploaded (by WMDE-Fisch; author: WMDE-Fisch):

[mediawiki/extensions/Cite@master] [refactor] Parsoid: Extract methods when composing a reference

https://gerrit.wikimedia.org/r/1101453

Change #1100454 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] [refactor] Parsoid: Rename and reorder some code for readability

https://gerrit.wikimedia.org/r/1100454

Change #1104682 had a related patch set uploaded (by Svantje Lilienthal; author: Svantje Lilienthal):

[mediawiki/extensions/Cite@master] [refactor] Moving attributes check in a function

https://gerrit.wikimedia.org/r/1104682

Change #1101453 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] [refactor] Parsoid: Extract methods when composing a reference

https://gerrit.wikimedia.org/r/1101453

Change #1105044 had a related patch set uploaded (by Svantje Lilienthal; author: Svantje Lilienthal):

[mediawiki/extensions/Cite@master] [WIP] [refactor] Parsoid: Cleanup attributes name and follow

https://gerrit.wikimedia.org/r/1105044

I did the following refactoring:

  • added functions for validation of the attribute key, the attributes "name", "group" and "follow"
  • some renaming and cleanup in the comments

Currently the name validation has some issues on the logical side. The rest looks good. :)

Change #1104682 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] [refactor] Parsoid: Clean up attributes validation

https://gerrit.wikimedia.org/r/1104682

lilients_WMDE updated the task description. (Show Details)

Change #1105044 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] [refactor] Parsoid: Cleanup attributes name and follow

https://gerrit.wikimedia.org/r/1105044

Change #1112185 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] [WIP] Rename generic "Ref" and "References" classes

https://gerrit.wikimedia.org/r/1112185

Change #1112216 had a related patch set uploaded (by Mareike Heuer; author: Mareike Heuer):

[mediawiki/extensions/Cite@master] Split extractRefFromNode function

https://gerrit.wikimedia.org/r/1112216

Change #1112692 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Rename generic Parsoid classes to Ref(erenceList)TagHandler

https://gerrit.wikimedia.org/r/1112692

Change #1112704 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Extract ReferenceListTagHandler from large References class

https://gerrit.wikimedia.org/r/1112704

Change #1112692 abandoned by Thiemo Kreuz (WMDE):

[mediawiki/extensions/Cite@master] Rename generic Parsoid classes to Ref(erenceList)TagHandler

Reason:

See I0c1ccc8f08fa63066b5ccf0f7d7700536e4e910e instead.

https://gerrit.wikimedia.org/r/1112692

Change #1118808 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Extract References::validateDir function

https://gerrit.wikimedia.org/r/1118808

Change #1112216 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Extract References::processNestedRefInRef function

https://gerrit.wikimedia.org/r/1112216

Change #1118808 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Extract References::validateDir function

https://gerrit.wikimedia.org/r/1118808

Change #1131771 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Extract two more methods in the large References class

https://gerrit.wikimedia.org/r/1131771

Change #1131771 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Extract two more methods in the large References class

https://gerrit.wikimedia.org/r/1131771