DEV Community

Xun Zhou
Xun Zhou

Posted on Edited on

Tip for evaluating file size with linux command

I wanna just know the code size of current folder and wanna share this cod snippet with u. Give a try in your src folder . You will see there are some candidates, which might be too large and need to be refactored in the future.

For example: Service/Import.php with 1185 lines, and it does definitively too much and should be refactored.

cd src
find . -name '*.php' | xargs wc -l | sort -nr

20844 total
    1791 ./Service/PageGenerator.php
    1185 ./Modules/Importer/Service/Import.php
     542 ./Entity/Base/Area.php
     447 ./Entity/PublicInfo.php
     363 ./Controller/FrontendController.php
     339 ./Modules/MyAPI/Provider/Dto/AreasDto.php
     307 ./Entity/Base/OpeningTime.php
     298 ./Entity/Opening.php
     290 ./Entity/SpecialSale.php
     289 ./Modules/Exporter/Model/ExportStoresModel.php
     258 ./Entity/User.php
     232 ./Modules/MyAPI/Provider/Dto/PublicInfoDto.php
     230 ./Repository/StoreRepositoryDBAL.php
     221 ./Repository/StoreRepository.php
     214 ./Entity/Base/TemporaryClosing.php
     205 ./Controller/OpeningController.php
     196 ./Entity/Base/Competitor.php
     178 ./Form/PublicInfoType.php
     177 ./Modules/Exporter/Api/Bing/Stores.php
     177 ./Form/OpeningType.php
     173 ./Form/SpecialSaleType.php
     166 ./Entity/Base/StatusDevelopment.php
Enter fullscreen mode Exit fullscreen mode

[UPDATED] for the users, who is using zsh, can just use this shortcut:

$ cd src
$ wc -l **/*.php | sort -nr
Enter fullscreen mode Exit fullscreen mode

Sure, there are lots of code static tools that can do the same job. But this command is just handy πŸ’«

Top comments (2)

Collapse
 
moopet profile image
Ben Sinclair

If you're running a shell that supports it out the box (like zsh) or something you can enable it on (like bash, if you have set shopt -s globstar) you can do the same with:

wc -l **/*.php
Enter fullscreen mode Exit fullscreen mode
Collapse
 
vikbert profile image
Xun Zhou

yes, it works well with your suggestion in zsh shell

$ wc -l **/*.php | sort -nr
Enter fullscreen mode Exit fullscreen mode