数学,离一个程序员有多近?

ifelse也好、for循环也罢,代码可以说就是对数学逻辑的具体实现。所以敲代码的程序员几乎就离不开数学,难易不同而已。

那数学不好就写不了代码吗CRUD出来。那你不要总觉得是产品需求简单所以你的实现过程才变成了增删改查,往往也是因为你还不具备可扩展、易维护、高性能的代码实现方案落地能力,才使得你小小年纪写出了更多的CRUD!

与一锥子买卖的小作坊相比,大厂和超级大厂更会注重数学能力。

2004年,在硅谷的交通动脉 101 公路上突然出现一块巨大的广告牌,上面是一道数学题:{e 的连续数字中最先出现的 10 位质数}.com。

广告:这里的 e 是数学常数,自然对数的底数,无限不循环小数。这道题的意思就是,找出 e 中最先出现的 10 位质数,然后可以得出一个网址。进入这个网址会看到 Google 为你出的第二道数学题,成功解锁这步 Google 会告诉你,我们或许是”志同道合“的人,你可以将简历发到这个邮箱,我们一起做点改变世界的事情。

计算 e 值可以通过泰勒公式推导出来:e^x≈1 + x + x^2/2! + x^3/3! +……+ x^n/n! (1) 推导计算过程还包括埃拉托色尼筛选法(the Sieve of Eratosthenes)、线性筛选法的使用。感兴趣的小伙伴可以用代码实现下。

二、把代码写好的四步

业务提需求、产品定方案、研发做实现。最终这个系统开发的怎么样是由源码交易三方共同决定的!

地基挖的不好,楼就盖不高

砖头摆放不巧,楼就容易倒

水电走线不妙,楼就危险了

格局设计不行,楼就卖不掉

这里的地基、砖头、水电、格局,对应的就是,数据结构、算法逻辑、设计模式、系统架构。从下到上相互依赖、相互配合,只有这一层做好,下一层才好做!

数据结构:高矮胖瘦、长宽扁细,数据的存放方式,是一套程序开发的核心基础。不合理的设计往往是从数据结构开始,哪怕你仅仅是使用数据库存放业务信息,也一样会影响到将来各类数据的查询、汇总等实现逻辑的难易。

算法逻辑:是对数据结构的使用,合适的数据结构会让算法实现过程降低时间复杂度。可能你现在的多层for循环在合适的算法过程下,能被优化为更简单的方式获取数据。 注意:算法逻辑实现,并不一定就是排序、归并,还有你实际业务的处理流程。

设计模式:可以这么说,不使用设计模式你一样能写代码。但你愿意看到满屏幕的ifelse判断调用,还是喜欢像膏药一样的代码,粘贴来复制去?那么设计模式这套通用场景的解决方案,就是为你剔除掉代码实现过程中的恶心部分,让整套程序更加易维护、易扩展。 就是开发完一个月,你看它你还认识!

系统架构:描述的是三层MVC,还是四层DDD。我对这个的理解就是家里的三居还是四局格局,MVC是我们经常用的大家都熟悉,DDD无非就是家里多了个书房,把各自属于哪一个屋子的摆件规整到各自屋子里。 那么乱放是什么效果呢,就是自动洗屁屁马桶 好,那么我们在延展下,如果你的卫生间没有流出下水道咋办?是不这个地方的数据结构就是设计缺失的,而到后面再想扩展就难了吧!

所以,研发在承接业务需求、实现产品方案的时候。压根就不只是在一个房子的三居或者四居格局里,开始随意码砖。

没有合理的数据结构、没有优化的算法逻辑、没有运用的设计模式,最终都会影响到整个系统架构变得臃肿不堪,调用混乱。在以后附加、迭代、新增的需求下,会让整个系统问题不断的放大,当你想用重构时,就有着千丝万缕般调用关系。重构就不如重写了!

(0)

相关推荐

  • 怎么学好数据结构?

    想请教,刚学完C,怎么学好数据结构?我发现,数据结构中的某些算法好难理解,一些语句不是很容易明白.有没有必要深究每句语句?谢谢 记得我读大学的时候,做一个项目,碰到一个特别复杂的数据结构问题,找了我身 ...

  • android颜色!那些年Android面试官常问的知识点,大厂面经合集

    为什么想跳槽? 简单说一下当时的状况,我在这家公司做了两年多,这两年多完成了一个大项目,作为开发的核心主力,开发压力很大,特别是项目上线前的几个月是非常辛苦,几乎每晚都要加班到12点以后,周末最多只有 ...

  • 提高编程逻辑的 10 种最“疯狂”的方法

    InfoQ2020-12-15 16:44:37 如今,大部分学生对编程表现出了兴趣.甚至每个人都想成为一名程序员.编程为程序员提供了许多工作机会.除了那些最新的编程语言之外,与老式的机器级语言相比, ...

  • 趣说:什么是数据结构和算法

    相信你的电脑里面 应该有这么一个 视频教程文件夹 不用我说 在这里面肯定是你 精心收藏的精华教程 不辞辛劳的你 按照每个优秀的老师 都分门别类的安排好 每一系列的精品教程 当你心血来潮之时 亦或是求知 ...

  • 除了编程语言本身,你如果还懂这 7 点,绝对可以在北上深杭拿到 15k

    可能有点标题党,但看完这篇文章后你决定不会这么认为了,甚至标题中的 15k 也许可以改成 20k.不废话,直接上干货. 1)算法 各大公司的笔试基本都考这个,<剑指 Offer>上的所有题 ...

  • 经验分享:超详细的C研发学习路线(含面试指南)

    学习建议 https://m.toutiao.com/is/JbbJWSG/ 对于技术岗,软件基础知识可以说是个人的硬实力,是你能通过面试的一个大前提.而说到软件基础的学习,对于很多还没有基础的同学可 ...

  • 为什么有人说弄懂了《算法导论》的90%,就超越了90%的程序员?

    同任何一门编程语言相比,算法确实是晦涩难懂的.举个简单的例子,众多学习算法的读者中,可能很多人都能快速学会链表.哈希表.二叉树,还能熟练运用大部分的查找算法和排序算法,但能玩转路径规划.字符串匹配.动 ...

  • 对于一个程序员来说,最浪费人生的事情大概...

    对于一个程序员来说,最浪费人生的事情大概就是: 1)追捧一些过时的技术.比如 Perl,窗口期已过,就算出个 Perl 7 也无济于事,自己玩还差不多. 2)过于痴迷一些平时不太用得到的技术.比如 H ...

  • 一个程序员应该怎样学会编写带GUI的程序?

    这是一个关于GUI如何绘制,以及是怎么绘制的问题. 什么是GUI? 图形用户界面,英文为Graphical User Interface,简写为GUI. 众说纷纭,有人列举了许多实现GUI界面的类库, ...

  • 你为什么看不到一个程序员炫富?原因可能是这个

    程序员在全国并不多,大概有200多万人在从事着程序员的工作,因为程序员这份工作不是谁都可以干,为什么中介,销售和前台的门槛那么低,因为程序员需要有技术知识,现在中高级的程序员那么难招,随便问一个程序员 ...

  • 一个程序员的交易秘籍:无情地执行一个彻底合理的交易计划

    程序员出身,开发期货软件6年,因身体原因辞职,回家炒作.从炒糖开始.他最与众不同的是,他从一开始就实施了彻底而理性的交易计划."我认为有一件事最终是可以成功的,早期的规划是最关键的.&quo ...

  • 知乎赴美上市:周源,一个程序员的逆袭

    2021-03-07 06:50 知乎至少经历了7轮融资,身后潜伏着创新工场.赛富投资.启明创投.腾讯投资.搜狗.今日资本.华兴资本.快手.百度等超10家知名VC/PE机构和互联网公司.如今,知乎IP ...

  • 如果上帝是一个程序员

    如果上帝是一个程序员

  • 一个程序员的开发习惯(ZT)

    有关开发习惯的一些想法,如鲠在喉,不吐不快.究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些建议,或者参考(希望不是误人子弟).同时,也希望各位能够就我的 ...

  • 微软一个程序员,降薪20%转到了市场部,...

    微软一个程序员,降薪20%转到了市场部,同事们觉得他傻.谁都没想到,他后来成了腾讯的商业顾问,年入几千万.他就是刘润,中国最贵的商业顾问之一.刘润以前搞技术,对于商业一窍不通,转岗到市场部后,让他对商 ...

  • 撷香记忆 | 一个程序员的跨界香气梦 把未来过成彩色

    鹤姐,兜兜转转,我还是回到了香博. 一切都是最好的安排. 程序员和香气,香遇"无需理由" 嗨,大家好,我是毛亚婷~香博的跨界女程序员来了~ 别看我是个程序员,扎在男性居多的群体中, ...