Recently, research on complex networks has become a hot topic. Community detection, as a main task in social network analysis, plays an important role in complex networks. In this paper, we survey and summarize the development and trend of community detection and analyze typical algorithms presented in recent years. We first discuss the algorithms from algorithmic thinking, key technology and the advantages and disadvantages. Second, evaluation metrics and datasets are introduced. Finally, some application scenarios are pointed out for the potential application in the future. It is hoped that this review will serve as the steppingstone for those interested in community detection.