[ 
https://issues.apache.org/jira/browse/PDFBOX-5660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817052#comment-17817052
 ] 

Axel Howind edited comment on PDFBOX-5660 at 2/13/24 3:41 PM:
--------------------------------------------------------------

And yet another patch: 
"Update_string_handling_and_regex_in_several_classes.patch"

This patch updates string handling and regex in several classes:
 - use "\\R" (Java 8) instead of hand-crafting regexes to match unicode line 
feeds
 - remove unnecessary markers '^' and '$' in String.matches()
 - use asMatchPredicate() to make code more concise (Java 11)
 - use repetition count to shorten regex 
("[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]" -> 
"[0-9a-fA-F]{6}")
 - do not call trim() twice on the same string
 


was (Author: axh):
And yet another patch: 
"Update_string_handling_and_regex_in_several_classes.patch"


This patch updates string handling and regex in several classes:
- use "\\R" (Java 8) instead of hand-crafting regexes to match unicode line 
feeds
- remove unnecessary markers '^' and '$' in String.matches()
- use asMatchPredicate() to make code more concise (Java 11)
- use repetition count to shorten regex 
("[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]" -> 
"[0-9a-fA-F]\{6}")
- do not call trim() twice on the same string
 

> Improve code quality (5)
> ------------------------
>
>                 Key: PDFBOX-5660
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5660
>             Project: PDFBox
>          Issue Type: Improvement
>            Reporter: Tilman Hausherr
>            Priority: Minor
>         Attachments: AnnotationSample.Standard.pdf, 
> DRY_refactoring_Typ2CharStringParser.patch, 
> Removed_the_readFully_method_in_the_PfbParser_class_and_replaced__with_calling_readAllByte.patch,
>  
> Simplify_list_and_map_operations,_use_known_size_when_creating_StringBuilder.patch,
>  Simplify_string_conversion_in_PDFHighlighter.patch, 
> Update_string_handling_and_regex_in_several_classes.patch, 
> avoid_multiple_unboxing.patch, code_cleanup.patch, 
> do_not_create_temporary_File_instance.patch, 
> extract_common_code,_move_toUpperCase()_out_of_loop.patch, 
> fix_HTML_error_in_Javadoc.patch, fix_javadoc_problems.patch, 
> introduce_COSArray_of(float___)_to_make_the_code_more_concise_and_avoid_creating_and_copyi.patch,
>  introduce_StringUtil_class_for_reusable_functionality.patch, 
> introduce_constants_COSFLOAT_ZERO_and_COSFloat_ONE_to_avoid_creating_unnecessary_instances.patch,
>  make_inner_class_static.patch, refactor_isEndOfName.patch, 
> remove_code_duplication_in_Type2CharStringParser.patch, 
> remove_obsolete_class_NullOutputStream.patch, 
> remove_unnecessary_calls_to_toString()_String_valueOf().patch, 
> replace_System_getProperty()_calls.patch, screenshot-1.png, 
> simplify_hashCode()_and_equals(),_test_name_first_because_Map_equals()_is_expensive.patch,
>  simplify_stream_operations.patch, use_Map_ofEntries().patch, 
> use_Math_min()_to_make_code_more_readable.patch, use_Objects_equals().patch, 
> use_String_isEmpty()_Collection_isEmpty()_instead_of_checking_length_size.patch,
>  use_String_join().patch, use_switch_for_readability.patch, 
> use_try-with-resources_(since_Java_9_the_variable_declaration_in_the_try_is_not_necessary_.patch
>
>
> This is a longterm issue for the task to improve code quality, by using the 
> SonarQube report, hints in different IDEs, the FindBugs tool and other code 
> quality tools.
> This is a follow-up of PDFBOX-4892, which was getting too long.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to