Atomic charge is one of the simplest and the most intuitive description of charge distribution in chemical systems.It has great significance in theory and in practical applications.In this article we introduce the basic principles and special characteristics of twelve important computational methods for the determination of atomic charges and compare their pros and cons from various aspects by considering a large number of instances.These methods include Mulliken, atomic orbitals in molecules (AOIM), Hirshfeld, atomic dipole moment corrected Hirshfeld population (ADCH), natural population analysis (NPA), Merz-Kollmann (MK), atom in molecules (AIM), Merck molecular force field 94 (MMFF94), AM1-BCC, Gasteiger, charge model 2 (CM2), and charge equilibration (QEq).Finally some general suggestions on how to choose a proper method for practical applications are given.