1+1到底等于几?

简介: 题目:“1 + 1 等于几” 数学运算用你擅长的语言基于MVC模式实现 这个,敢吗?这是我面试别人时最常用的一个话题,多数程序员咋一听往往都是一脸懵逼:有这个必要吗?我只能很严肃的告知:肯定有,需求总是不断变化,良好的设计可以让后期的变更更方便!代码写多了,如果你的风格只是一成不变,套路,未免有点失败。

题目:“1 + 1 等于几” 数学运算

用你擅长的语言基于MVC模式实现 这个,敢吗?

这是我面试别人时最常用的一个话题,多数程序员咋一听往往都是一脸懵逼:有这个必要吗?

我只能很严肃的告知:肯定有,需求总是不断变化,良好的设计可以让后期的变更更方便!

代码写多了,如果你的风格只是一成不变,套路,未免有点失败。每一次开发,我一般会尝试不同以往的写法,从各种角度去验证和实践一些基本的编程思想。

以下是花了两三分钟写的一个基于PHP的demo:

http://git.oschina.net/web3d/PHPExample/blob/master/MathMVC/demo.php

一个原本简简单单一行可以搞定的程序硬是被写成120行,估计看到的人也是醉了。

尝试基于PHP7的参数标量类型声明特性编写;里面刻意留了一些bug,你可以在不运行的情况下,试着找出来!

但当习惯这种思维方式并熟练后,其实整体开发效率并没有降低;尤其在团队开发中,相应的意义更大!

目录
相关文章
|
5月前
|
算法 前端开发
最大公因数等于 K 的子数组数目
最大公因数等于 K 的子数组数目
45 0
输入一个整数,判断大于0小于0还是等于0
输入一个整数,判断大于0小于0还是等于0
让用户输入x的值,如果x的值如果小于1,y=x,x如果大于等于1并且小于10,y=2x。。。 // x x < 1 // y={ 2X 1<=x
让用户输入x的值,如果x的值如果小于1,y=x,x如果大于等于1并且小于10,y=2x。。。 // x x < 1 // y={ 2X 1<=x
|
5月前
|
存储 前端开发 JavaScript
为什么0.1 + 0.2 不等于 0.3 ?
这篇编程技术文章探讨了为什么在多种编程语言中,0.1 + 0.2 不等于 0.3 的现象。问题源于计算机使用二进制浮点数表示小数,而二进制无法精确表示某些十进制分数,如 0.1 和 0.2。这导致它们在计算机内部被近似表示,从而在相加时产生微小误差。文章通过示例和图片解释了二进制浮点数的表示原理,并提供了将小数转换为整数再相加以及使用 `toFixed()` 方法或 decimal.js 库等解决精度问题的方法。
|
5月前
|
Java 数据库连接 mybatis
mybatis中大于等于小于等于的写法
mybatis中大于等于小于等于的写法
215 0
|
5月前
|
Python
计算小于或等于n的非负整数区间包含的1的数量
计算小于或等于n的非负整数区间包含的1的数量
50 0
|
11月前
|
C++
37 C++ - 等于和不等于(==、!=)运算符重载
37 C++ - 等于和不等于(==、!=)运算符重载
51 0
小于等于K的最大子数组累加和
小于等于K的最大子数组累加和
|
机器学习/深度学习
欧拉函数:求小于等于n且与n互质的数的个数
求小于等于n且与n互质的数的个数 互质穷举法 互质:两个数互质代表两者最大公约数为1 最大公约数求法:辗转相除法,最小公倍数:较大值除以最大公约数乘以较小值 辗转相除法: 较大的数a取模较小的数b,得取模值c 若取模值等于0 则最大公约数为取模值,否则继续下一步 a与c再次取模,回到第二步 //求最大公约数gcd以及最大公倍数lcm // 36 24 36/24 // 24 12 24/12 // 0 结束最大公约数为12 // 求最小公倍数 // lcm(a, b) = (a * b)/g
118 0
|
SQL Java 数据库连接
MybatisPlus条件拼接等于、大于、不等于等等
MybatisPlus条件拼接等于、大于、不等于等等
495 0