apache / apache/cloudstack

scripts(shell): counts of misspelled words in the codebase

Open
#10,639 2 comments 0 reactions 0 assignees View on GitHub
long-term-plan
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.