—速度和资源使用的响应性和全面优化
●可维护性——应用程序容易维护的能力
●可扩展性——应用程序可以通过良好定义的途径扩展的能力
●可用性——应用程序的实现多么的健壮,以及应用程序在使用方面的方便性
1. 性能
性能是不容争论的设计问题。如果用户没有从你的应用程序中得到他们所需要的,这就是一个问题。总的来说,性能依赖用户的需要,对于某些人来说,速度是主要的;对于其他的人,健壮或者资源的有效利用是他们所需要的。全面地看,应用程序的性能是应用程序如何响应用户需要的表示。这里有一些通常的方面,是在编写Java程序需要考虑的:
●算法的效率
●CPU的速度
●高效的数据库设计和标准化
●限制外部访问
●
网络速度
●安全问题
●程序执行速度
问题 ●资源的利用
●Web访问速度
2. 可维护性
可维护性是改编你的程序以适用将来需要的容易性的尺度。这个问题归结为使用良好的编程习惯,很多是常识问题——只需在编写代码时牢记代码将来的需要,但这也是很困难的事情。下面是一些“出色编程”本领的主要方面:
●避免使用循环和条件的过深嵌套
●避免传递全局变量给过程
●在编写代码时保持模块化
●将代码分为包
●制作记录程序改动情况的文档
●使用每个过程只有一个目的
●确保你的应用程序可以扩展为适合更大型的任务和更多的用户
●计划代码的重新利用
●对敏感的数据使用访问过程
●使用注释
●使用一致的变量名称
●使用常量,而不用“令人想不通的”数字
3. 可扩展性
可扩展性是应用程序通过良好定义和相对简单的方法进行扩展的能力。可扩展性通常只与大型程序有关,而且经常涉及特别为扩
展模块设计的完整接口。实际上,Java本身就被设计为可扩展的。
4. 可用性
可用性是应用程序可以使用的时间长度的尺度——这要与用户希望使用它的时间相比较。这包括当执行长任务时不要冻结每一个方面(至少给用户一些提示性的反馈),使用不太可能挂起的技巧和方法,备份重要的数据,安排当对希望的资源的访问遇到的障碍时使用的替换资源。
设计过程大体上需要很长时间。实际上,整个开发周期仅仅有几个方面:局部测试、内部测试、计划、设计和用户界面测试。通过研究,我们会很吃惊的发现,一些机构只为实际代码编写分配项目总时间的15%。
软件工程中花费了很大的功夫来讲解
软件的开发周期,因此,理解软件开发的整个过程对一名程序员来说是相当重要的,好的程序员总是花更多的时间在设计上,有些程序员会因为某种原因而减少至关重要的设计步骤,这根本不值得,因为项目中短期的时间缩短会造成更多的长期问题,因此,软件设计应该是一件从长远来考虑和计划。
谈“80后”程序员为什么找不到工作?
所谓“80后”,是指22~27岁之间、受过高等教育、刚刚
毕业走向社会或者拥有几年工作经验年轻的一代。
不可否认,“80后”已成为职场上迅速成长的中竖力量,尤其是在国内的研发领域。每个时代都有自己的特点,如果用几个比较典型的正面词句形容他们应该是:聪明、有主见、有能力。
那身为“80后”的技术人员找工作为什么还这么难呢? 因为,还可以用几个比较典型的负面词句形容他们:缺乏责任感、定位不清、困难而退。
从参加面试看责任感
就拿面试这件事来说吧,流程大多是:电话简单沟通,约时间?初试(开发人员多是笔试)?复试?确认薪水、上班时间入职。