首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我见过的最糟糕的程序代码

这事发生在很多年前,在一个相当大的公司里,公司名我就不说了。那个软件有一大堆程序,是一个商业系统的核心模块,由一个、单独的一个的小伙维护着,这个家伙不久前被炒了。...像这种的小伎俩相对而言还好处理——假设这些传说的故事大多数都是真的,我还是很难相信,我从来没有在现实生活中遇到过这种事情。...一点一点的,我把这些函数名和变量名改成具有意义的命名,开始很麻烦,之后慢慢的变得容易些。...我很难相信一个人会在最初时就把代码写成这样,因为这对他自己也是一个巨大的挑战,这里肯定有一些高超的技术。...当然,如果你的脑子里还在想:你不能因为我的变量名没有什么意义就把我开除了(或应该招我回来改程序),那你是在妄想,不管这个家伙的用意是什么,他的做法十分的错误(我很难想象他的前任老板还会推荐他),不管怎样

67450

如何优雅的写小程序代码

在中国35岁可能就是程序员的分水岭;35岁前你可以无视一切,但35岁后你可能就被无视。但其实怎么都好,路是自己的,走自己的路让人去说吧。...35岁前你可以要求自己的程序能正常运行和不出问题就可以了,也可以引入一些最新的技术。但35岁后就不能按这些要求,虽然稳定是前提,但有更多应该去考虑代码的优雅和他人的可读性。...为什么突然会有这些感想呢,因为最近获得了一份大厂内部的小程序代码,看后不经感慨都是实现同样的功能,但人家写得实在太优雅了,所以在这里分享一下吧。...功能其实也很简单就是通过云函数获取微信的OPENID,那他是怎么写的呢。。 首先将云的信息写在envList.js,这样换其他环境只需要修改里面的id即可。...他不是放在onLoad,而放在onShow里,这个我没怎么深究,一个是监听加载,就是当页面加载的时候进行调用。而另一个则是监听显示,就是显示时调用。

2K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使Ubuntu的语言变成中文??

    如何让我们的Ubuntu学会说中文? 当我们打开Ubuntu系统后,一些英语稍差一点的同学是不是用这个系统用起来感觉有点吃力呢?要是Ubuntu系统会讲中文就好了。...那如何让Ubuntu这个系统学会中文呢?接下来就有我来带你们一步步的让自己的Ubuntu系统学会中文吧!! ## (注意:可能有些步骤需要输入你的登录密码!!!)...可能你下载速度会及其的慢,请参考我的另一篇文章,应该会解决你的问题 ##如何让Ubuntu下载的更快## ? ? ? ?...6、最后一步,离我们的Ubuntu系统会说中文只差一步了,点击Language选项,然后往下翻动语言菜单,你会发现中文是灰色的,这是怎么点击也无效的,这个地方需要拖拽,只需左键点击汉语然后把它移动到第一位...7、最后一步,离我们的Ubuntu系统会说中文只差一步了,点击Apply System-Wide(应用到整个系统)选项,然后重启系统,你就会发现这个系统及其的友好啦 ? ?

    4.2K40

    如何使你的开源项目成功

    我创建了一个开源库 vocajs.com,经过努力,这个库成为了 GitHub 上最受欢迎的项目之一。在这个过程中,我学到了一些重要原则,这些原则涉及如何制作高质量的开源项目。...每个人的期望是了解你的工具可以解决什么问题以及如何使用它。就这样。 告诉你一个对我有效的真理: 花 50% 的时间编写引人注目的 README.md 和简单明了的文档。 是的,你没有看错。...例如这就是我用来描述的内容: “Voca 库提供了有用的功能,使字符串操作变得舒适:更改大小写,修饰,填充,段化,拉丁化,sprintfy,截断,转义等。...响应问题和审查代码pull请求可能比预期要花费更多时间。 有时您会遇到沮丧的用户,无论如何,找到了与大家礼貌地交流的意愿。 准备对某些请求说“No”或拒绝 pull 请求。...你知道哪些使开源项目成功的其他策略?请在下面的评论中告诉我。

    1.1K30

    如何使特定的数据高亮显示?

    如上图所示,我们需要把薪水超过20000的行,通过填充颜色突出显示出来。如何实现呢?还是要用到excel里的“条件格式”哦。...其它excel内置的条件规则,也一样有这样的限制。 那么,要实现整行的条件规则设置,应该如何操作?既然excel内置的条件规则已经不够用了,下面就自己动手DIY新规则吧。...2.如何使特定数据行高亮显示? 首先,选定要进行规则设置的数据范围:选定第一行数据行后,同时按住Ctrl+Shift+向下方向键,可快速选定所有数据行。...然后在公式框里输入公式:=$F2>20000,再单击下方的“格式”,对格式进行设置。在此处演示中,我选择填充黄色。...3.总结: Excel里的条件格式的设置,除了内置的规则,我们还可以自定义规则,使得符合需求的数据行突出显示。 当然,关键是对excel里的绝对引用/相对引用熟练掌握,然后再借助公式来实现。

    5.6K00

    傅盛:凡杀不死我的,必使我更强大 | 每日人物

    IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 砺石导言 2月4日,猎豹CEO傅盛在2018猎豹移动全球年会上发表演讲表示,困难就是最大的财富,如同尼采的一句话:凡杀不死我的,必使我更强大...2.凡杀不死我的,必使我更强大:困难就是最大的财富,如同尼采的一句话:凡杀不死我的,必使我更强大。猎豹所遭遇的所有的困难,都进化成了猎豹的基因。...现在结果如何呢?去年,也就是2017,猎豹整体收入近50亿规模,而瑞星前年只有几千万收入了。这就是一个时代的变化——大潮来临,唯有拥抱。...2凡杀不死我的,必使我更强大 当年,我第一次到珠海,每一刻都在想,怎么让在金山工作了十年的人,能跟我有一样互联网化的思维。 那个时候,夜不能寐,忧虑不堪。...也许,没有选择,就是最好的选择。困难,就是最大的财富。 如同尼采的一句话:凡杀不死我的,必使我更强大。 庆幸的是,猎豹今天已经不一样了——猎豹所遭遇的所有的困难,都进化成了猎豹的基因。

    83350

    如何使你的 WordPress BLOG 吸引订阅!

    在这篇文章中我要和大家分享一下,如何能够使你的WordPress BLOG 吸引更多的订阅者。 不论我们是否出于自愿,我们几乎都是各种社会团体、组织或者集团的一分子。...既不惹人讨厌,也很少让人厌烦,当数字不断变大的时候就说明更多的人点击了“订阅”。 那么,如何充分利用这些好处呢? 解释订阅的好处:RSS 其实是一个很新的概念,并不是所有人都对它非常了解。...所以,对你的 BLOG 的读者说明其价值和利益和提供一个订阅的选项一样重要。知道了这一点后,我也写了文章来阐述 RSS 的基本信息,我相信这对我的读者是有益的。然后你瞧,订阅量就上去了,而且还在增加。...也许这是一种习惯,但是这也让我仔细考虑了一下,我失去了多少这样的潜在订阅者呢?...于是我不得不开始研究并使用了 新的 WordPress Widget WP-Chiclet ,现在使用在在我的 BLOG 上了。

    43420

    代码的“真面目”---如何查看cpp预处理后程序代码

    cpp中预处理必不可少,如何查看预处理后的程序代码呢?单文件?CMake+makefile?CMake+ninja?ndk-build? XCode? 答案都在这里。...一、问题缘起 cpp的宏定义,适当的使用既可以减少重复代码,又避免了模板带来的代码膨胀,是很顺手的利器。...如果能阅读宏展开后的代码,会轻松方便很多。 所以本文目的就是如何方便快捷的获得宏展开后的代码?...CMake + make 平常验证cpp代码喜欢使用CLion,CLion默认使用CMake + make构建系统,项目结构如下: [Clion项目结构] 分析了CMake默认生成的makefile,意外发现里面就有我需要的...到这里,对Android NDK的两种构建系统,我们都可以快速生成预处理文件了。 4. XCode 最后看下在iOS的XCode中,如何查看cpp预处理文件?

    6K41

    如何通过按键颜色的对比来引导用户

    image.png 你有没有过意外点错按键的时候?当用户没有被正确引导时往往会在模态窗口上做出错误的决策。很多模态窗口会在不明确不同行动区别的条件下就弹出来。...不同按键之间明确的颜色对比能够引导用户进行正确的选择。确实明确的行动指示则会让用户困惑并降低他们的效率。这甚至还可能导致他们做出产生恶劣影响的错误选择。...为了让用户能识别出它们之间的区别,每个按键的颜色对比是我们不可忽视的论题。 正面行为需要最高的对比度 正面行动时在模态窗口上最常见的一类。用户需要知道那个行为能帮助他们完成任务。...你应该给这类行动按键最高的颜色对比度来帮助用户去达成目的。放在它旁边的其它任何中性或负面行动按键应该具有较低的颜色对比。 ? 要想达到最高的对比度,给你的正面行为按键填充上一个冷色以及白色的文字。...它们之间的对比越是清楚,用户就能越快地完成任务。颜色在界面上扮演着非常重要的角色——不仅仅是美感,页同样是能引导用户行动的一种强力工具。

    96470

    【推荐】如何使你手里的数据变成现金?

    有了前提,再说如何把数据变现为价值。 数据的准备、分析方法自不用多说,大家已经讨论N多遍了。这里主要讨论对业务的熟悉程度,我们常常提到的业务熟悉,往往只是停留在业务流程、业务数据流的熟悉。...我曾经做过的大促分析,经过当天每小时流量、订单、库存,结合商品分布、用户分布,准确诊断大促不足的地方、大促高价值的地方,然后再一次促销中,将数据洞察转换为行动方案。...这是因为我熟知业务部门要行动,他们需要了解到底哪些地方要如何改进,改进多少?例如商品部门,你说准备库存结构不合理,那你告诉我到底各SKU准备多少,为什么这样准备?...客户部门,你说老客户活跃度激活不够,你告诉我如何做的更好,凭什么说这样才能更好?这些大家觉得仅仅熟悉流程,能给答案推动数据变现么?...我个人以为这是一个数据分析、洞察融入业务逻辑的推理过程,写出来的分析报告逻辑严密,才能让业务部门信服、使用数据结论和建议。

    72640

    如何使VLAN走不同的路由器?

    我们的日常工作就是解决客户在IT方面的各种需求,客户们的要求各不相同,设备的品牌也见得很多很杂,这不,今天又来一个有点小特别的要求,设备品牌倒是我们忠爱的华为。...需要说明的是,活儿是小伙子去干完了,我拿模拟器写个文章,所以配置过程会略有不同,各位看官别见怪。...,而光猫是不支持OSPF协议的,所以AR3上面不能用OSPF协议,并非没有想到。).../0/0.1 *创建子接口 dot1q termination vid 11 *子接口配置dot1q的目的是为了带vlan的数据帧进入的时候比较pvid,如果相同则收,不同则丢弃 ip address...AR3的配置:实际上是没有AR3 的,只是模拟器实验环境下,必须配置回程路由才能有完整的实验结果 interface GigabitEthernet0/0/0 ip address 192.168.31.3

    1.2K30

    reactive是如何实现深层响应的?

    深层响应的 reactive 看过官网文档的都知道,Vue3 的响应性分为浅层和深层,我们常用的 reactive 是深层的。...我们也都知道,reactive 是使用 proxy 来实现响应性的,那么问题来了: 既然 proxy 的拦截操作是浅层的,对于嵌套属性的操作无感,那么 reactive 是如何实现深层响应的呢?...简单地说,各种判断后,返回一个新的 reactive。 就是说,给子子属性赋值的时候,需要先获取第一级的对象,然后把这个对象变成 reactive 的形式返回,这样就可以实现层层属性的拦截了。...于是问题来了,如何区分是模板触发的 get 还是给属性赋值触发的 get? 到目前为止还是没有想到办法。 这样的话,就只有最后一个属性是准确的,前面的就不一定了。...只拿到最后一个属性,没有中间过程的话,对于简单的,或者特定的还是可以用用的,但是想通用就基本没戏了。

    1K20

    如何理解前端的数据响应式?

    数据响应式是一种编程概念,在许多现代编程语言和框架中都有广泛应用,尤其是在前端开发领域。其本质确实如你所说,当数据发生变化时,自动运行一些相应的函数。...实现原理 观察者模式 数据响应式通常基于观察者模式实现。数据被视为被观察的对象,而那些在数据变化时需要执行的函数则是观察者。当数据发生变化时,通知所有注册的观察者执行相应的操作。...依赖收集与触发 在数据响应式系统中,当一个函数依赖于某个特定的数据时,系统会记录这种依赖关系。当数据发生变化时,系统能够准确地找到依赖于该数据的函数,并触发它们执行。...手写一个简单的数据响应式程序 /** * 观察一个对象,并为其属性创建 getter 和 setter * 当属性被读取时,会进行依赖收集 * 当属性被修改时,会触发所有收集到的依赖函数 *...="UTF-8"> 手写简单的数据响应式

    11210

    区块链技术如何使移民的生活更轻松?

    关于区块链的细节,你会发现无数的文章,但是通过描述计算机如何互相交流,我不会用互联网来描述互联网的好处,在区块链中,退一步的抽象层次是非常重要的。了解它所起的作用。...区块链如何实现社交效益? 它通过消除中间商来消除系统成本。 如果没有区块链,每个行业都有中间人必须确认资产的正确所有者。你想买房子?你需要一个律师来做标题搜索。你想给你的健康记录提供一个新的医生?...我最兴奋的事情之一是区块链对移民的好处。 移民可以安全地收到证明其居留的正式文件,使他们能安全,自信地获得身份证件。...然而,区块链作为企业和消费者的工具的效用将在加密货币的价格波动中存在。 它提供的成本降低和安全级别可以帮助保护私人信息,使人们能够自信地传输和记录数据。...随着数百万人和企业成为数据窃取的受害者,数据安全已成为越来越普遍的问题。 如果区块链可以从系统中移除成本并减少未来的数据泄露,那么怀疑者如何才能将其作为一种流行的时尚?

    1K40

    如何使 DevOps 摆脱闭门造车的窘境?

    在企业的IT部门与独立的业务经营部门之间,往往存在着各式各样的互不理解的问题。IT部门往往就像一个虚拟的神职人员一样,只按照自己部门的既定计划和规则进行相应的IT操作和运维。...而灵活敏捷的IT开发运维的方法往往需要通过鼓励部门间更多的合作,通过长时期的沟通磨合,进而实现企业内部运维的集成化和自动化,才能弥合这其中的差距。当然,这显然是说起来容易,做起来难。 ?...其他普遍受到受访者关注的问题包括: 39%的缺乏优化云部署的成本和性能的能力 34%的缺乏持续进行云管理的能力 39%的在实施传统IT、云计算与DevOps的整合方面存在困难 企业缺乏专业知识是妨碍其全面采用云模型...一种真正的云和DevOps的解决方案,及其所带来的积极的业务成果 这种混合模式最佳结合了跨业务部门之间的自由分散部署的同时,也通过一个基础设施的“单一面板”的视角和命令,保留了IT部门的监督和专业知识的掌控...对于那些拥有大量的交易的电子商务企业或由其业务是由移动的大数据所推动的、以及具有显著的互动性要求和面临网络、客户或最终用户需求的企业而言,这是一种相当有吸引力的且相当关键的解决方案。

    74150

    我如何用一行Css代码使谷歌浏览器的数据网格滚动快10倍

    您还可以检查哪些外部网站链接到您的页面,当我浏览"顶部链接网站"页面时,我注意到了 主要 的滚动滞后。当选择显示较大的数据集(500 行)而不是默认的 10 个结果时,就会发生这种情况。...谷歌搜索控制台中的 “Top linking sites” 部分,每页 500 行 作为一个对前端的曼福斯感兴趣的人, 我忍不住潜入水中, 看看我是否能弄明白原因。...这就是我所看到的:DevTools / Performance 滚动"顶部链接站点"数据网格的性能配置文件,非常低的 FPS "任务"块上的那些红耳朵表明,在滚动时,某些东西需要的时间比可接受的时间要长...对于此记录,它显示时间主要用于更新图层,如紫色方块中的文本所示,其中表示:Update layer tree: 瀑布图显示, “Update layer tree” 是使滚动变慢的原因。...好消息 - 我试着应用一些秘密酱汁, 再次滚动, 现在感觉好多了。这也清楚地显示在它的性能配置文件: 滚动改进了很多!

    2.2K10
    领券