sabbelasichon / typo3-rector

Rector for TYPO3
MIT License
215 stars 60 forks source link

Is it possible that the changed code more human readable #4201

Closed hdietrich-timespin closed 3 months ago

hdietrich-timespin commented 3 months ago

Is it possible that the changed code more human readable is like that:

$or = $queryBuilder->expr()->or();

   $or->with($queryBuilder->expr()->eq('znumber', ":search"))
            ->with($queryBuilder->expr()->eq('type', ":search"))
            ->with($queryBuilder->expr()->like('first_name', ":likeSearch"))
            ->with($queryBuilder->expr()->like('last_name', ":likeSearch"))

rector changes is very complicate, horrible and have to much redundancy code: grafik

unformatted changes:

 ((($or = $or->with($queryBuilder->expr()->eq('znumber', ":search"))) = ($or = $or->with($queryBuilder->expr()->eq('znumber', ":search")))->with($queryBuilder->expr()->eq('type', ":search"))) = ($or->add($queryBuilder->expr()->eq('znumber', ":search")) = ($or = $or->with($queryBuilder->expr()->eq('znumber', ":search")))->with($queryBuilder->expr()->eq('type', ":search")))->with($queryBuilder->expr()->like('first_name', ":likeSearch"))) = ($or->add($queryBuilder->expr()->eq('znumber', ":search"))
        ->add($queryBuilder->expr()->eq('type', ":search")) = ($or->add($queryBuilder->expr()->eq('znumber', ":search")) = ($or = $or->with($queryBuilder->expr()->eq('znumber', ":search")))->with($queryBuilder->expr()->eq('type', ":search")))->with($queryBuilder->expr()->like('first_name', ":likeSearch")))->with($queryBuilder->expr()->like('last_name', ":likeSearch"))
 ;

I formatted changes manually for human readability:

       (
           (
               (
                    $or = $or->with($queryBuilder->expr()->eq('znumber', ":search"))
               ) = (
                       $or = $or->with($queryBuilder->expr()->eq('znumber', ":search"))
               )->with($queryBuilder->expr()->eq('type', ":search"))
           ) = (
               $or->add($queryBuilder->expr()->eq('znumber', ":search"))
                   = ($or = $or->with($queryBuilder->expr()->eq('znumber', ":search")))
                   ->with($queryBuilder->expr()->eq('type', ":search"))
           )->with($queryBuilder->expr()->like('first_name', ":likeSearch"))
       ) = ($or->add($queryBuilder->expr()->eq('znumber', ":search"))
               ->add($queryBuilder->expr()->eq('type', ":search"))
               = (
                    $or->add($queryBuilder->expr()->eq('znumber', ":search"))
                    = ($or = $or->with($queryBuilder->expr()->eq('znumber', ":search")))
                        ->with($queryBuilder->expr()->eq('type', ":search"))
                )->with($queryBuilder->expr()->like('first_name', ":likeSearch"))
       )->with($queryBuilder->expr()->like('last_name', ":likeSearch"));
Patta commented 3 months ago

https://github.com/sabbelasichon/typo3-rector/blob/main/docs/limitations.md#how-to-apply-coding-standards

chrissonntag commented 3 months ago

If you are looking for a solution that you can use in combination with --dry-run. There is none. But you could do the following:

You should now be able to comfortable see what changes where made by looking at the commit summary