Use checkboxes for choices that are frequent and low in number (ideal from 2 to 4 options).
Don’t put more than 7 checkboxes together.
Always order the elements vertically in a logical order for the user.
Don’t use a vertical order, it will break the layout and be longer to read.
Always use explicit and concise labels.
Don’t use complicated labels.
Add an “other option” field can be added with an associated text field. If it’s not possible to have all the options in the list.
Never compel the user to choose an option he does not want.