程序员的职业素养
https://www.bilibili.com/video/BV1hg411V7Bm/?p=81
1)软件工程基本原理
(1)用分阶段的声明周期计划严格管理,将复杂问题简化处理;
(2)坚持进行阶段评审;
(3)记录软件每个版本的状态,实行严格的版本控制;
(4)采用现代程序设计技术,但不是最新的技术;
(5)结果能清楚地审查;
(6)开发小组人员少而精;
(7)不断积累和改进软件过程实践经验和技术。
2)软件工程的最终目标
正确性
正确实现算法功能,最重要的指标,得到正确或相符的结果或效果
可用性
在某个考察时间,系统能够正常运行的概率或时间占有率期望值
可靠性
在一定时间内、在一定条件下无故障地执行指定功能的能力或可能性
友好性
具有良好的使用性
可读性
可读的、可以理解的,方便分析、修改和移植
健壮性
对不合理的数据或非法的操作能进行检查、纠正
效率
对计算机资源的消耗,包括计算机内存和运行时间的消耗
可移植性
从一个计算机系统或环境转移到另一个计算机系统或环境的难易程度
3)程序员的职业素养
团队精神和沟通能力
个人能力是有限的,团队才能创造奇迹;
及时汇报项目进展,了解偏差。
良好的文档习惯
工作需要有日志文档,进行总结;
代码需要有技术文档,便于之后查错、升级和模块复用。
编码规范化、标准化
要养成良好的编码习惯,有助于代码的移植和纠错及不同技术人员之间的协作。
代码需要具有良好的可读性。
注意:代码要简约,但不是简短。
养成测试习惯
每段代码、每个子模块完成后需进行测试,将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。
学习和总结能力
技术会淘汰,需要不断掌握新的技术和新的技能,不只是编程能力,还有撰写文档和沟通等多方面的能力。
考点:程序员的职业素养
以下关于程序员职业素养的叙述中,不正确的是()。
A、面对程序中出现的问题,采用的解决方式和反思的深度体现程序员的素养
B、职业素养强调的不是天赋的神秘和技艺的高超,而是持续积淀的结晶
C、职业素养高的程序员会对经理为了赶工期而降低程序质量的要求说“不”
D、职业素养高的程序员对用户提出的任何需求变更和功能调整说“是” √