title: 程序员在实际工作中写的代码和各种学生时代的竞赛如ICPCNOI等写的代码有什么区别？
desc: 如题，请从难度，思路等等方面分析一下
topic: 程序员
content: 1.业务问题。程序竞赛一般解决的问题有特定的输入和输出，但是现实世界一般需要解决公司的特定业务问题，不同公司需要的业务知识不一样，需要掌握一定的领域知识。程序竞赛一般对智力算法要求比较高，公司项目往往对代码质量和工程比较关注。2.风格和可维护性的区别。程序竞赛一般为了效率写出来的代码风格和可读性稍差，但是工程代码大部分时间是用来维护的，需要具备良好的风格和可读性，崇尚clean code，需要良好的注释文