一个程序员的水平能差到什么程度?

简介: 一个程序员的水平能差到什么程度?

一则灵魂拷问“一个程序员的水平能差到什么程度?”让各位程序员们纷纷有感而发。小编精选了两个有趣的高赞回答只为抛砖引玉,欢迎大家说出你的故事!


来自网友“Benny”


想起了一件十多年前的往事,有一次帮客户的 Java 项目组升级框架。


入场之后屡次听到项目组的运维小哥抱怨 war 包过大,导致每次发布要等很久很久,用过 WebSphere 的童鞋可能知道我在说什么。


那么,这 war 有多大呢?大概 2G!!!???


富有求知欲的我于是下决心去研究下这鸽子,不对,这 war 包为什么这么大?


草草一挖,果然就在里面发现了宝贝。原来 war 包里还藏着两个程序安装包。


一个是 JDK1.4;另一个是 PES2006,实…….实况足球?!

image.png



根据 SVN 的提交记录,肇事的大哥很快就被找到了。


据说是在一个月黑风高的晚上,几个还在加班的码畜临时起意,决定一起找点乐子解解乏。


这位带头大哥为了方便把自己的游戏分享给小伙伴,就想到了把它先提交到 SVN 上这样一个天才的主意……


当然,按照他原本的计划,这个文件应该随后被删除的!可是,那晚他们玩的实在太尽兴了……


没人会料到这个文件竟会悄无声息的溜进 war 包,一路潜伏到生产环境,然后反反复复的摩擦了可怜的 WebSphere 和运维小哥近一年。


了解到真相之后,运维小哥表情差不多是这样的:


来自网友“零五”


老板觉得公司里都是男的,缺少一点阴柔之气,想平衡一下,正巧当时互金公司倒了一大批,大批简历投到公司。


老板以为自己也是技术出身,就招了一个三年工作经验的女程序员,互金出来的,要价倒是不低。


我休假去了,没面她,等我回来要安排工作了,这才发现问题了。


给她安排了一个新项目,是会展方面的,跟她简单说了一下工作安排:先搭个 Spring Maven 项目,然后跟产品谈下需求,考虑一下数据模型,过两天跟我碰再确定具体模型。另外,大家可以关注下微信公众号:Java技术栈,在后台回复:Maven,可以获取我整理的 N 篇 Maven教程,都是干货。


她没说什么,等到第二天快下班了,产品来问我了,她怎么还没动工?我说我安排了啊,这就找过去问她,她说框架还等着技术总监(也就是我)搭了,她不是架构师,不会。


当时我就懵了,还有这种操作,你就是上 Spring 网站都能搭一个啊。又问她需求谈了没有?数据模型有没有想出个大概?她又说,需求是 BA 谈的,她不会。


我这就急了,那你会什么呀?她说她原来公司都是框架环境都是配好的,她只管写代码。


我当时心里就凉了半截,这项目估计最后要我来收拾残局了。这就去找老板换人,老板说你就带带她吧,反正这项目也不急,就当给公司添一点亮色吧!


没办法,只能硬着头皮带她了,期间各种 Eclipse 环境之类的就不谈了,比如 SVN 配置忽略文件类型,Lombok 插件等等,总之环境不会配。


终于帮她全部配完环境,详设也写好跟她讲解了一遍,总算开工了,若干天后提交代码了。


我做了一下 code review,这心里又凉了半截:


方法,类名,变量等等一概中文拼音。


业务逻辑明明可以复用的不写公用方法,更别提用自定义注解了。


驼峰命名法是什么不知道。


MySQL 有的表字段名全大写,有的全小写,有的又跟我来个驼峰。


我又跑去找老板要换人,老板打个哈哈,哎呀,又不是人人都有这个你这个水平,再带带说不定就出来了。


没辙,给我戴顶高帽子,只好回去跟她苦口婆心地说了半天代码规范,其实就是阿里那一套,装个插件就能检查,又跟她着重讲了一下命名规范,要用英文命名,否则注释少的话很难看懂程序,她直点头,说这就改,我也就信了。


等到代码再次提交,我一看,一口鲜血差点没吐在屏幕上,展品的长宽高单位是米,结果好家伙一看,长度 long_rice,高度 high_rice。


当时看的时候实在没明白这脑回路到底是个什么套路,强压怒火跑去问她这是什么意思,她振振有词地说:你讲的呀,命名的时候最好要体现度量单位。


我实在忍不住了,吼起来了:那 rice 是什么单位,是什么单位?她也不示弱,把词霸的屏幕取词一开,移到米字那里,说:你自己看,米不就是 rice 吗?


我顿时无语,只能又跑去找老板,老板也无语,只能自我解嘲地说:她不是过了四级了吗,我还查来着了。


这件事情最后的结局就是我在面人的时候,都要当面问几个英语单词,实在是怕了。


PS:rice 这个我是实在没看明白,记得还有一处我是看明白了,她把发消息的发命名为 hair,我愣了一下也就知道。


大家都是层次比较高的,认为这么简单的英语都不会是不太可能的,但实际上这两天我又在面试,我看一位同学的笔试题写的代码里有 scanner,然后面试的时候就问了他一句:scan 是什么意思?想了半天,没说出来。


推荐去我的博客阅读更多:


1.Java JVM、集合、多线程、新特性系列教程


2.Spring MVC、Spring Boot、Spring Cloud 系列教程


3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程


4.Java、后端、架构、阿里巴巴等大厂最新面试题


觉得不错,别忘了点赞+转发哦!


相关文章
|
安全 算法 文件存储
共享资料下载,自动转PDF并添加隐形水印
云盒子企业网盘增强文件安全,支持下载时自动转PDF并加水印。管理员可配置目录规则,选择明水印、隐形水印或点阵水印。明水印直观防复制,隐形水印用于隐蔽追踪,点阵水印不影响阅读。文件格式支持度和水印类型取决于设置。此功能适用于文档安全、版权保护等场景。欲知详情或测试,访问[云盒子官网](yhz66.com)咨询客服。
318 1
|
6月前
|
Java API Docker
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
|
11月前
|
运维 关系型数据库 MySQL
自动化运维工具Ansible的实战应用
【10月更文挑战第9天】在现代IT运维领域,效率和可靠性是衡量一个系统是否健康的重要指标。自动化运维工具Ansible因其简洁、易用的特性,成为了众多企业和开发者的首选。本文将通过实际案例,展示如何利用Ansible进行日常的运维任务,包括配置管理、软件部署以及批量操作等,帮助读者深入理解Ansible的应用场景及其带来的效益。
|
机器学习/深度学习 缓存 TensorFlow
TensorFlow 数据管道优化超重要!掌握这些关键技巧,大幅提升模型训练效率!
【8月更文挑战第31天】在机器学习领域,高效的数据处理对构建优秀模型至关重要。TensorFlow作为深度学习框架,其数据管道优化能显著提升模型训练效率。数据管道如同模型生命线,负责将原始数据转化为可理解形式。低效的数据管道会限制模型性能,即便模型架构先进。优化方法包括:合理利用数据加载与预处理功能,使用`tf.data.Dataset` API并行读取文件;使用`tf.image`进行图像数据增强;缓存数据避免重复读取,使用`cache`和`prefetch`方法提高效率。通过这些方法,可以大幅提升数据管道效率,加快模型训练速度。
211 0
|
Ubuntu 虚拟化
Ubuntu——VMware安装后网络提示线缆已拔除
Ubuntu——VMware安装后网络提示线缆已拔除
261 0
|
11月前
|
算法 Java 程序员
【算法每日一练及解题思路】有n级台阶,一次只能上1级或2级,共有多少种走法?
本文深入解析了“爬楼梯问题”,探讨了递归与迭代两种解法,并提供了Java代码实现。通过分析问题本质,帮助读者理解动态规划技巧,提高解决实际编程问题的能力。关键词:Java, 算法, 动态规划, 爬楼梯问题, 递归, 迭代。
461 0
|
机器学习/深度学习 人工智能 算法
计算机算法基础概述与常用算法解析
计算机算法基础概述与常用算法解析
|
机器学习/深度学习 测试技术 数据处理
Numpy Tile:数组复制的艺术与效率之键
【4月更文挑战第21天】
285 0
|
SQL 运维 数据库
DataphinV3.14全新升级:数据研发突破全域覆盖,资产治理更加灵活可控
DataphinV3.14支持传统数据库调用,带来全新高效研发体验,及时全面的数据保护、自定义监控和审批让数据治理更灵活自由。
118783 1
|
Ubuntu C++
Ubuntu20.04LTS+uhd3.15+gnuradio3.8.1源码编译及安装
Ubuntu20.04LTS+uhd3.15+gnuradio3.8.1源码编译及安装
592 0