一道简单的程序员面试题引发的思考

来源:互联网 发布:java 日期正则表达式 编辑:程序博客网 时间:2024/06/18 16:08

最近看了一些关于程序员面试方面的书籍,里面的一道简单面试题让我感受颇深,于是决定拿出来与大家分享:

题目:编程实现一个简单的计算器

解答(具体实现代码我就不写了,这里主要说一下很多新手容易出现的情况):直接一个类实现,首先采用问答方式取得操作数和运算符,然后if...else...判断运算符类型,

          最后运算输出结果。

分析1:第一层境界---问一下你自己有没有注意到变量的命名,一定要规范;再问一下你自己有没有遗漏什么情况,譬如除法运算时要考虑除数不可为零;然后再接着问一

             下你自己代码缩进和相关注释有没有注意到。

分析2:第二层境界---如果不是要开发底层的一些东西,问一下自己有没有注意到要运用面向对象的思想进行编程,譬如把输入和运算分开来处理,增强代码的可维护性

分析3:第三层境界---问一下自己有没有考虑过程序的扩展性,如果以后需要再增加一种运算操作,难道要在原来类里增加之后再全部进行一次编译?!如若不然,那应

             该怎么改?如果把操作数拿出来作为一个类, 把运算符与运算操作拿出来作为另一个基本类,把输入与输出归到调用类,这样如若需要增加操作,则只需要定义

             一个子类继承自运算操作基本类,定义新方法或重写父类方法,之后再进行动态调用,这样问题是不是就解决了。一定要注意多考虑,多思考!

原创粉丝点击