scripts(shell): counts of misspelled words in the codebase
- 主要語言
- Java
- 星號
- 3.1k
- 分支
- 1.4k
- 平均合併
- 6 天 19 小時
- 30 天內合併 PR
- 32
描述
Currently on main branch I run a one line shell script to produce a list of potentially misspelled words which is sorted in descending order from most misspelled to least. We have both the misspelled word and how many times that word is misspelled in our codebase.
So with any spell checker they do sometimes pick up false positives and code terms that are not misspelled etc.
So I am using a newer version of `codespell` here on my local machine compared to what is currently running on main with pre-commit. So our list of misspelled words at 560 lines is slightly more than what is currently on main branch in https://github.com/apache/cloudstack/blob/main/.github/linters/codespell.txt with 526 lines.
There is a PR up for fixing `51 valiate` here #10536
There is another PR still in progress that was upgrading the `codespell` version for pre-commit. It now has conflicts. #10144
So to recreate this list you can run from this repo root:
`codespell --skip='./ui' | cut -f2 -d' ' | tr A-Z a-z | sort | uniq -c | sort -nr`
You can install a local copy of codespell with pip: https://github.com/codespell-project/codespell
We run codespell with pre-commit and that is all self contained you don't need to install a local copy of codespell to run it with pre-commit. This local script is just extra tooling.
560 lines seen below:
```
302 ans
242 attache
168 mor
90 ccompiler
68 assertin
61 nin
51 valiate
38 testng
35 atleast
21 parms
17 fo
16 te
12 notin
11 policys
11 incase
11 implementor
10 ther
10 reserverd
10 reserv
10 connexion
9 usera
9 onlyonce
9 equivalant
8 retrive
8 remore
8 excetion
8 cant
7 stickyness
7 re-use
7 reqiured
7 ramdom
7 overriden
7 ist
7 everytime
6 uptodate
6 tempdate
6 retreive
6 pararmeter
6 execption
6 erro
6 eles
6 cna
6 chunck
6 attches
6 addin
5 strat
5 resposne
5 propertie
5 parralels
5 noone
5 initator
5 deply
5 complaince
5 appropritate
4 wil
4 successfull
4 specifed
4 recevied
4 ofthe
4 implementors
4 implememented
4 hte
4 fowarding
4 explicitely
4 doesnot
4 dockin
4 declatory
4 crated
4 crate
4 craeted
4 couldnt
4 checkin
4 capcity
4 capabilites
4 bais
4 aquire
3 wth
3 wont
3 visable
3 verfying
3 unsupport
3 unkown
3 ths
3 thorugh
3 sufix
3 splitted
3 responser
3 reponse
3 readd
3 physcial
3 nd
3 modifers
3 lable
3 intereface
3 instace
3 faield
3 exects
3 execept
3 dissapper
3 direcotry
3 differnt
3 dettached
3 dettach
3 dependend
3 definiton
3 coudl
3 contro
3 contex
3 constrait
3 comparision
3 childs
3 becasue
3 authenitication
3 aquiring
3 aqcuire
3 ammount
3 adminstrator
3 actuall
2 wit
2 wakup
2 verfy
2 varius
2 usign
2 unrecoginized
2 unpluging
2 unexpect
2 uneccessarily
2 unabled
2 ues
2 ue
2 trough
2 tring
2 thirdparty
2 thi
2 syste
2 storeage
2 stil
2 spped
2 singature
2 simplier
2 similary
2 seting
2 ser
2 seprated
2 sepcified
2 seconday
2 scrip
2 scalled
2 sate
2 runing
2 retrived
2 resorce
2 requried
2 renabling
2 proxys
2 primay
2 prefered
2 preceeding
2 perfromed
2 offfering
2 occured
2 numer
2 nowe
2 nome
2 multple
2 mot
2 minumum
2 metatdata
2 maintenace
2 maintainence
2 intialize
2 intefaces
2 inspite
2 includeing
2 impossibile
2 implmeneted
2 hda
2 havin
2 hasnt
2 handeling
2 guarenteed
2 fro
2 frist
2 findout
2 falied
2 failes
2 expcted
2 exisitng
2 ect
2 doubleclick
2 disover
2 deserialzed
2 deployement
2 defered
2 defaut
2 createing
2 controles
2 controler
2 containg
2 configuable
2 concious
2 clinet
2 cliente
2 clenup
2 chaing
2 callin
2 bu
2 becase
2 authenitcation
2 assoication
2 apllication
2 anull
2 analagous
2 alocation
2 ags
2 afterall
2 addreess
1 womens
1 virutal
1 verifing
1 varibles
1 valus
1 valule
1 vaidate
1 vaguaries
1 utlization
1 usin
1 unxpected
1 unparseable
1 unneccessary
1 unkonw
1 unexepected
1 uncompressible
1 uncommited
1 unavailibility
1 tyoe
1 tru
1 transction
1 tipically
1 throught
1 thigns
1 theses
1 theres
1 therefor
1 thats
1 tha
1 tage
1 syncronous
1 suppport
1 suppots
1 suiteable
1 sucessfully
1 suces
1 suceessful
1 succesfull
1 substitions
1 strutural
1 streched
1 stip
1 statics
1 standy
1 specifiy
1 specied
1 softare
1 snpashot
1 snapshoting
1 snapshoted
1 skiping
1 signle
1 sie
1 shoule
1 shoul
1 sevices
1 settig
1 servies
1 sepcify
1 seesion
1 seconadry
1 scirpt
1 runnign
1 roperty
1 rocessor
1 rever
1 returing
1 retuned
1 retrun
1 retriving
1 retreiving
1 resturns
1 respones
1 reseting
1 reseted
1 reqest
1 remvoing
1 remaning
1 relese
1 releease
1 refference
1 redunant
1 recursivelly
1 recieved
1 reccuring
1 readabilty
1 raison
1 pyhsical
1 psudo
1 provison
1 propogate
1 propertys
1 properites
1 propegate
1 progres
1 programatically
1 procuct
1 priviledged
1 previleges
1 preffered
1 precense
1 potenial
1 possiblity
1 poluting
1 polcies
1 pluggin
1 plugable
1 permissble
1 passowrd
1 particualr
1 parametrs
1 paramete
1 paramenter
1 paramemeter
1 paramater
1 overwritting
1 outter
1 ources
1 otherwse
1 orginal
1 optin
1 opeation
1 onother
1 omited
1 occuring
1 occurence
1 numbe
1 nodel
1 netowrk
1 necesary
1 neccessary
1 nast
1 mutliple
1 multipl
1 mulitply
1 mis
1 milisecond
1 messge
1 mesage
1 mergable
1 mehtod
1 maxium
1 maschine
1 manaully
1 mambers
1 mamagement
1 maintenence
1 lokales
1 lokal
1 listner
1 linke
1 limite
1 lief
1 leve
1 klunky
1 isnt
1 invokation
1 invlaid
1 intializing
1 intializes
1 interpretted
1 internt
1 interfer
1 interable
1 intepret
1 instnace
1 instal
1 initilization
1 initalize
1 inital
1 ingore
1 infrastrcuture
1 informaton
1 informations
1 infor
1 indien
1 indecates
1 implmentation
1 implict
1 implemnt
1 immediatley
1 igoring
1 identifyers
1 identifyer
1 identifers
1 hsould
1 hould
1 hostanme
1 hasing
1 happend
1 hanling
1 gradiant
1 gracefull
1 gorry
1 gloabal
1 get's
1 gernerate
1 generallly
1 genarate
1 funcition
1 fuctionality
1 frontent
1 folowing
1 fle
1 fisrt
1 fillled
1 filenname
1 feild
1 fasion
1 fals
1 faild
1 expection
1 exitting
1 existsing
1 exisits
1 exeeded
1 executeable
1 execut
1 excute
1 excption
1 erronous
1 environmnet
1 enviornment
1 entires
1 enmpty
1 enebled
1 encryted
1 enble
1 emmited
1 elments
1 elemnt
1 eanbled
1 dows
1 dont'
1 doesnt
1 doesn'
1 divice
1 dissassociated
1 discrepency
1 disbale
1 directroy
1 differnet
1 didnt
1 dictonary
1 diasbled
1 diabling
1 dettaching
1 detroying
1 detroy
1 detination
1 desination
1 descrption
1 dervied
1 deplying
1 dependant
1 dependancy
1 deleteable
1 defalut
1 decypher
1 decocdes
1 decalared
1 datas
1 dahsboard
1 currentl
1 curren
1 crresponding
1 cros
1 credentail
1 createa
1 craete
1 cosole
1 correspoonds
1 correspoding
1 correcponding
1 coputer
1 convinience
1 convienient
1 controll
1 continuesly
1 constraits
1 conneciton
1 configruation
1 confg
1 conectix
1 complient
1 comparisions
1 commited
1 comman
1 collison
1 cluser
1 chould
1 choosen
1 checkd
1 cavaet
1 carrefully
1 capablity
1 buildin
1 bootup
1 bootstraper
1 boardcast
1 bject
1 birdge
1 behviour
1 becaues
1 beacuse
1 beacause
1 avialable
1 availiability
1 authroize
1 authenciation
1 attrbutes
1 attch
1 atomation
1 atmost
1 asyncronous
1 asynchroniously
1 asssert
1 assosiate
1 assigne
1 assiciate
1 aqcuired
1 apporpriate
1 applicatio
1 aplication
1 apche
1 ammended
1 alue
1 alpha-numeric
1 alogrithm
1 allocted
1 allo
1 algoritm
1 algin
1 aktive
1 againt
1 afrer
1 afer
1 addtion
1 acumulate
1 acuiring
1 acount
1 acheived
1 accouns
```
貢獻指南
研究方向
首先,從 repository 根目錄執行所述的 codespell pipeline,並將其輸出與 .github/linters/codespell.txt 和 pre-commit 設定進行比較。在決定預期要進行什麼變更之前,先檢視 #10536 和 #10144 的內容;由於 issue 沒有指出目標檔案或要求的實作,因此未定義 done。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- shell
- 領域
- tooling
- Issue 類型
- 功能
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 需要釐清
- 新手友好度
- 30/100