scripts(shell): counts of misspelled words in the codebase
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 32
Description
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
```
Contributor guide
Research direction
Start by running the stated codespell pipeline from the repository root and compare its output with .github/linters/codespell.txt and the pre-commit configuration. Review the context of #10536 and #10144 before deciding what change is intended; done is not defined because the issue does not identify a target file or requested implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100