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

为什么程序员的代码不能终生责任制?

前言 知乎上有一个提问:为什么程序员的代码不能终生责任制? ↓↓↓ 今天,我们就这个话题,一起来做个讨论。...我们知道,诸如桥梁建造、商品房新建,这种民生建筑等建完房子之后,施工单位和相应的工程师,是需要对其质量负一定的责任的,甚至可以说这种责任是终身制的。...小伙伴们不妨先想一想,然后把你们的答案,写在评论区。 我的回答 现在,据我多年观察的现象来看,只要我们不从事非法的软件研发工作,比如赌博、早期的P2P金融类软件等等。...一些合理、合法的软件,一般开发的同学,出问题是不需要付什么法律责任的,特别是离职后的同学。...至于,为什么程序员不需要像建筑工程师那样,对工程质量付终身责任制这个问题,大家不妨发表一下你的灼见,在评论区,与我们小伙伴一起讨论。

32630

我为什么要创建一个不能被实例化的类

摄影:产品经理 感谢小何的上等牛肉 当我们创建一个Python 类并初始化时,一般代码这样写: class People: def __init__(self, name): self.name...但如果有一天,你发现我写了这样一个类: class People: def say(self): print(f'我叫做:{self.name}') def __new...一个不能被初始化的类,有什么用? 这就要引入我们今天讨论的一种设计模式——混入(Mixins)。 Python 由于多继承的原因,可能会出现钻石继承[1]又叫菱形继承。...为了保留多继承的优点,但又摒除缺点,于是有了混入这种编程模式。 Mixins 是一个 Python 类,它只有方法,没有状态,不应该被初始化。它只能作为父类被继承。...显然,这样写会报错,因为两个类的实例是不能比较大小的: 但在现实生活中,当我们说 某人比另一个人大时,实际上是指的某人的年龄比另一人年龄大。

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

    为什么不会 C++ 不能算合格的专家程序员?

    例如,如果你掌握了 Go 语言,你就会了解几个令人印象深刻的语言设计概念,提高自己的通用编程技能。 学习 Python 也很好,因为我们可以用 Python 知识来编写任何自动化脚本,而且很有成效。...因此,现在大多数程序员都跳过了 C++ 的学习,并且更喜欢那些提供更抽象的开发环境的现代语言。 我将解释一下,为什么学习 C++ 是所有努力成为编程专家的程序员的必修课。...这就是为什么大多数程序员使用 Go 来构建高性能的云工具,因为对云环境来说,二进制文件的大小并不是问题。在高性能、轻量级的软件开发方面,程序员仍然喜欢用 C++ 而不是 Go。...因此,学习五种自己喜欢的、精心挑选的编程语言,并称它们为“我最好的编程语言”,是一个明智的决定。 如果你仔细挑选五种编程语言,从各方面进行考虑——毫无疑问,C/C++ 也会在你的名单上。...我在这篇文章里介绍了我最喜欢的编程语言:每位开发人员都应该学习的 5 种编程语言。

    59751

    为什么我写的程序有bug(一):逻辑篇

    我本来是希望 when 的,在写第一个when的时候头脑还是很清晰的。但是呢,当写第二个的时候就用四肢写代码了,习惯性的打了个return。...} 这里本来的意思针对请求的类型不同进行处理,但是我们在进行对比的时候,用Request的类型和Response的类型进行比较,显然存在问题。...这种问题在进行ReView代码的时候还常常想当然的认为是OK的。...accountService == null){ waitBind();//等待绑定成功、然后跨进程获取数据 } Info info = pushService.aidlGetInfo(); } 发现这个问题的现象是程序刚启动时随机出现几次...但是,我们在清除accountID时只清除了数据库,没有清除缓存,再次登录的时候用的缓存的值。这样就会导致程序陷入了死循环。所以在进行存储操作时,需要考虑好同步的问题。

    96920

    为什么产品经理的工资不能够比程序员高?

    今天,我们不聊程序员与产品经理工作上的爱恨情仇,因为我之前写过类似的文章了。今天我想聊得话题就是:为什么产品经理的工资不能够比程序员高?...反正我认为大部分程序员正常的反应肯定都是:不服气,凭什么?都会多多少少产生离职的念头或者想法。要是前几年我遇到这种情况,我肯定也是这种反应,但是我现在不会这么想了。为什么呢?...产品经理需要从项目初期的规划到上线乃至运营都要参与其中,很多工作都很累,很杂。 所以,我认为:一个优秀的产品经理工资应该是很高的,会比程序员高。这个前提是:你确实能够把产品做得让程序员服气才行。...我特别欣赏一句话:做产品就是拍电影,优秀的产品经理等于大导演,优秀的程序员等于那些片酬超高的演员。大导演的工资和优秀演员的片酬,谁高谁低比的就是技术。...如果在遇到上述情况,我建议大家把眼光不要盯在工资比较上,而是自己的能力上,想想自己的能力到底值多少钱?

    2.5K80

    手把手教你使用Python语言的Pygame绘制动图

    在推上看到一张有意思的图片,黑点在多个交叉的圆上做圆周运动,看上去会有波浪的效果。我想这个Python的Pygame就可以实现啊。马上动手,下面是程序运行的效果: ?...这个教程面向初学者,教你在编写游戏中学习Python语言。本文的内容我也制作了视频放在www.icoding.pub上,欢迎访问。 注意,本文的程序需用到笛卡尔坐标系和三角函数。 Ok。...首先你需要已经安装Python和Pygame。安装过程我的视频教程中有,此处略过。首先启动IDLE,启动新建文件,然后另存为,为你的文件起一个名字,记住扩展名应为.py,还要记住保存文件的目录。...2019-08-08 20-47-35 的屏幕截图.png 下面的任务是绘制圆上的点。我们不能使用pygame的point,因为一个像素的点太小了难以看清。...,并想想为什么。

    2.1K20

    为什么我的数据库应用程序这么慢?

    当然这两者是相互联系的。 如果您的应用程序(或同一网络上的其他应用程序)生成的网络流量压倒可用带宽,则这可能会增加延迟。 延迟 延迟是在应用程序和SQL Server之间发送TCP数据包所需的时间。...专注于一个小型可重复的工作流将让您隔离问题。 接下来的问题当然是为什么要花10秒钟?缩小问题的第一个也是最简单的方法是将应用程序尽可能靠近SQL Server,在同一台机器上或在同一个LAN上运行。...计算近似应用处理时间: 捕获工作流的数据包:启动Wireshark捕获并运行应用程序工作流程,请记住在工作流完成后停止捕获。...请记住选择相关的网络界面,并注意您需要在与Wireshark的数据库不同的计算机上运行应用程序以查看流量​​。确保您没有运行任何其他本地SQL应用程序,而不是您尝试捕获的其他本地SQL应用程序。...或者,当您知道您没有带宽瓶颈时,您需要查看应用程序使用多少带宽。为此,您还需要运行靠近数据库的应用程序,捕获Wireshark中的数据包,并检查应用程序使用的带宽。

    2.3K30

    我用编程模拟疫情的传播来告诉你: 为什么现在的你还不能出门

    dis_k=5036a3151e400b7b5d9cde11c9e80a1f&dis_t=1582083144 本片来自新片场创作人Ele实验室 (导演/出品人/制片人/策划/剪辑) 程序员用计算机编程的方式...看完视频你就明白为什么不能出门了,千万不要放松警惕!(@Ele实验室 ) 在家憋了一段时间的人们,耐心也在一点一点消磨中。很多人已经忍不住开始想蠢蠢欲动了。...他们总有一套自己的理论:我们城市才一点确诊病人,而且在距离我们很远的地方,我就出去一会儿,哪有那么巧合,就感染上了。没事儿的!大街上都没人,我戴着口罩又没事。...因此通过这一次的疫情防控,为了你、我、他,请以后感冒发烧生病之后,能够带个口罩,减少传染率。因为不知道你体内的这一个病毒威力如何。 ?...因此一个疫情发生,必须依靠强大有力的政府比如中国,和广大的医院医生护士等伟大的工作者们的努力,所以平时请尽量的尊重他们的这个职业。 ?

    2.1K10

    十年老Python程序员:给我一个链接,没有我不能爬的视频,只有我顶不住的视频

    一、写在前面 真的,为什么别人发游戏这么多人看,我发了两次了加起来才一百个。...算了算了,不整游戏了,反正你们也不爱看~ [e4eebd45e8ac41f5b767be86bdad4c23~tplv-k3u1fbpfcp-zoom-1.image] 今天来试试把头条上扭腰上热门的那些妹子爬一爬...,不知道我顶不顶得住~ [f05d817730714c1fbf670327955bca38~tplv-k3u1fbpfcp-zoom-1.image] 二、准备工作 1、使用的环境 python 3.8...pycharm 2021.2 专业版 2、要用的第三方模块 selenium requests parsel 三、大致流程 鉴于你们不喜欢我啰嗦,但是流程呢,我还是要给你们写出来,所以我就单独把它列出来了...[图片] 1、网站分析(明确需求) 在视频网页源代码当中找到 embedUrl 对应的链接; 在链接当中找到视频播放地址,在元素面板当中; 发现规律 embedUrl上面的 groupby_id 其实就是当前视频链接上的

    73440

    【Pygame 第3课】 游戏中的事件

    有人问,为什么突然讲游戏了?有人问,为什么不继续讲python的基础?有人问,为什么不讲爬虫?有人问,为什么不讲算法?…… 因为有很多内容,每一块都有想听的人。因为同时不可能推送很多内容。...因为我喜欢游戏开发,制作一款游戏的过程很有趣。我会尽量在论坛上补充更多方面的内容。微信上的推送有天生的限制,不能让所有人满足,大家见谅。 上次课讲了游戏最根本的框架,说到在每次循环中会接收玩家的操作。...还记得上次课中的这段代码吗: for event in pygame.event.get(): if event.type == pygame.QUIT: #接收到退出事件后退出程序...pygame.event.get()会接收所有程序中的事件。当判断这个事件是一个关闭程序(QUIT)的事件时,就将程序关闭。 现在,我们要增加一个事件响应:当玩家点击了鼠标之后,就换一张背景图。...面向零基础初学者的编程课 每天5分钟,轻松学编程 回复『 p 』查看python课程 回复『 g 』查看pygame课程 回复『 t 』查看习题

    1.3K70

    为了练习自己的Python基础语法,我用pygame写了一个打砖块闯关的游戏

    本文内容:为了练习自己的Python基础语法,我用pygame写了一个打砖块闯关的游戏 ---- 为了练习自己的Python基础语法,我用pygame写了一个打砖块闯关的游戏 1.事件之始 2.萌新复现经典游戏打砖块...考虑到我的Python有些生疏了,我便计划练习一下Python,我像往常一样点开网课,带上耳机,准备慢慢地听。...只听了3分钟,我便没了耐心,听谁还不会啊,关键还是要写,为了缓解大学以来的无味,也为了练习Python,我决定写点有趣的东西。...aid=510813876 打砖块1.2版本补充视频,程序自玩,摆脱菜鸡作者的下饭操作 ---- 5.打砖块1.3版本更新,更多模式,更美观的界面 随着游戏性的提升,越来越多的朋友也参与测评了我的游戏...以后更多的是Python其他方面的应用了,我会一直努力学习下去的。 这篇博客,纪念我逝去的青春。

    45110

    为什么我建议线上高并发量的日志输出的时候不能带有代码位置

    如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~ 本文是“为什么我建议”系列第二篇,本系列中会针对一些在高并发场景下,我对于组内后台开发的一些开发建议以及开发规范的要求进行说明和分析解读...往期回顾: 为什么我建议在复杂但是性能关键的表上所有查询都加上 force index 在业务一开始上线的时候,我们线上日志级别是 INFO,并且在日志内容中输出了代码位置,格式例如: 2022-03...在上面我给出的线程堆栈的例子中,调用打印日志方法的代码位置信息就是这一行:at com.xxx.apigateway.filter.AccessCheckFilter.filter(AccessCheckFilter.java...模拟两种方式获取调用打印日志方法的代码位置,与不获取代码位置会有多大性能差异 以下代码我参考的 Log4j2 官方代码的单元测试,首先是模拟某一调用深度的堆栈代码: 然后,编写测试代码,对比纯执行这个代码...由此,我建议:对于微服务环境,尤其是响应式微服务环境,堆栈深度非常深,如果会输出大量的日志的话,这个日志是不能带有代码位置的,否则会造成严重的性能衰减。

    1.4K20

    Python | Time Marker时间标签(附详细注释)

    一、展示 按下空格键,时刻会被记录到Times.log 二、原理说明 如果您之前关注过我的内容,可以回忆一下我之前发过两篇关于文章,如果没有可以进入下面链接: Python | “一个简单的清单软件...easybill” ‍Python | "写了个钟"‍ 从实现角度讲,这个程序完成的功能是这样的: 启动——>显示时间——>按下空格键——>记录时间——>手动关闭窗口 时间显示使用的是Pygame提供的图形库...监听键盘使用的也是Pygame提供的功能 至于记录时间,仅仅是简单的文件操作 而手动关闭窗口,可以使用ESC或者点右上角的X 三、完整代码(附详细注释) import pygame from pygame.locals...() screen.fill((0,0,0)) 四、代码评价 我一直强调一个软件的关键在于你想让它做什么,比如用文件操作可以写一个清单软件,比如Pygame是用来开发2d游戏的,但是它提供了很丰富的功能...五、往期精彩内容 Python | “万年历——日期查询” Python | "写了个钟" Python | “一个简单的清单软件easybill” Python | “当包管理器不能帮你安装pip时怎么办

    49310

    详解Java构造方法为什么不能覆盖,我的钻牛角尖病又犯了....

    三 但是,看了输出,我就纳闷为什么,为什么第三行不是BigEgg2.Yolk(),不能覆盖吗?...那么,他们构造方法为什么不能覆盖,都是Public Yolk(){}。 当然,网上都说子类继承父类除构造方法以外的所有方法,但这是结果,我要知道为什么!! 五 先说几个错误的观点 1....有说构造方法的方法名与类名必须一样,父子类不能同名,故不能继,所以不能覆盖构造方法。 这个不用多说,这个例子,就是大神写出来打这样说的人的脸的。 2....(这就是为什么创建子类时先创建完父类的原因了) 那么很明显了,要是同名类之间可以覆盖了,子类创建时就是创建了两个自己而没有父类。...Java设计的时候,他们绝对想到有些人会像强迫症那样折腾个同名类继承,然后实现构造覆盖的场景吧.... 总结 构造方法是唯一的,不能又造爸爸又造儿子

    2.1K20

    『设计模式』反射,反射程序员的快乐!为什么我老是加班?为什么我工资不如他多?原来是我不懂反射!

    看完不会,请评论,我亲自给你解释,嘻嘻! ? 什么是动态语言? 动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。...比如JavaScript便是一个典型的动态语言。 除此之外如Ruby、Python、OC等也都属于动态语言,而C、C++、Java等语言则不属于动态语言。...喜欢问问题的小朋友要来了? 为什么没有getDeclaredConstructor方法和getDeclaredConstructors方法? 为什么?为什么? 有啊!!...关于为什么要使用private访问权限的构造器,使用这个构造器不就不能外部访问了嘛,不也就无法进行实例化对象了吗?...总结 这时候又会有小朋友问: 为什么要这么麻烦,我直接调用不就好了?

    1.1K20

    python表白代码大全简单-python表白代码

    当然有点太单调,我们可以这样操作… 一行代码生成经典二维码用python的myqr库来制作一个二维码只需要一行代码,第一个参数输入二维码里的内容(不能输入中文),第二个参数输入保存的二维码图片…可以制作恶搞表白二维码如果把二维码跟其他应用网站联系在其一起将有出奇意外的效果以下二维码均有特殊的功能...这是python用pygame做的表白程序,可以打包成exe发给对方。 行哥在之前的表白神器推文里分享过详细的源码和应用程序,后台回复【表白】就可以领取。...、mysql等相关软件上传源码配置django、数据库等启动服务在合适的时间发送网站给ta?...以上就是用python花式表白的几种姿势,如果不起作用可以用python接点外包、写点代码、赚点小钱给她清空购物车… 程序介绍 python版本:3. 6.5相关模块:pygame模块; 以及一些python...一行代码… (这个爱心是有运行结果的!)也不知道为什么妹子放弃了全班30多位帅哥(没错,他们班就她一个女生),而选择了头发日渐稀疏已经”六月怀胎”的我朋友。?

    3K40

    为你的 Python 程序写个启动工具箱

    但是如果我们只是为了自己使用方便的话,我们有必要把程序打包成几十乃至上百兆的 exe 文件吗?没有必要。我们只要能够快速启动图形界面就可以了。...Python 自带的方式 第一种方式就是直接改 py 文件后缀为 pyw,这样系统就会自动调用 pythonw.exe 来执行你的程序。...用 Python 实现启动工具箱 下面,我将演示如何使用 PyQt5 实现一个启动工具箱。...主要实现了以下功能: 通过工具栏可以直接执行 python 程序 九宫格右键保存或者删除快速启动链接 九宫格左键点击显示图形界面 为了方便使用,我们可以把这个软件打包成 exe 文件,或者重命名为 pyw...关键点一: 这个程序的核心思想就是再开一个进程来执行 py 文件,但是此时程序的路径为启动管理器的路径。所以说,如果你要打开的程序,比方说“PDF阅读器”,涉及到了文件路径,一定要使用绝对路径。

    1.4K20
    领券