Agent-oriented programming has been motivated in part by the conception that high-level programming constructs based on common sense notions such as beliefs and goals provide appropriate abstraction tools to develop autonomous software. Various agent programming languages and frameworks have been developed by now, but no systematic study has been done as to how the language constructs in these languages may and are in fact used in practice. Performing a study of these aspects may contribute to the design of best practices or programming guidelines for agent programming, and clarify the use of common sense notions in agent programs. In this paper, we analyze various agent programs for dynamic blocks world, written in the Goal agent programming language. We present several observations based on a quantitative and qualitative analysis that provide insight into more practical aspects of the development of agent programs. Finally, we identify important issues in three key areas related to agent-oriented programming that need further investigation.