橙子1的gravatar头像
橙子1 2018-06-22 09:46:24
是做一个程序员还是做一个码农呢?

貌似又好一段时间没发东西了~

只要一有新项目 就忙忙叨叨的 忘了记录心德

今早刚把项目 和数据库文件 交给领导部署,这个项目应该是算告一段落了,大周五的忙里偷闲,应该是坐等周末的节奏,无聊~ 来 吐个槽~!

这个刚完事的项目 是CRM,不是原创,照着国外的一个项目 扒的!

总共 就两个人干 

功能点 比较少  客户 联系人 业务机会  别的太深 时间紧任务重  就放弃了

第一版 大体是一个月的时间,然后给客户 看了一眼,说了些要改的东西,又来了一个月调整业务逻辑! 加起来也就两个月的时间吧!

本人 状态之前也说过,闲置 5年左右,而且新入公司 半年

所以 在这个项目里 自然是打杂的!

这个合情合理 

些许跑题,来说说标题吧

相信 能来这个网站的 ,除了意外乱入的,基本多多少少都会写些代码吧!

那么问题来了,你们觉得什么是程序员,什么是码农?

刨开工资不谈,毕竟每个人心中的 加码是不一样的!单纯从思想上来说!

本人是这样理解的

程序员和码农,一个听着就高达上,一个听着就很low!一个专业一个业余

程序员 是有思想的写代码, 码农 是受指令搬砖,让干嘛干嘛,网上扒个代码,功能拼凑上就完成任务交活!

相信现在不少写代码的 都渐渐的 不知不觉的变成了码农吧!

而这个网站 之所以 叫 最 代码,我想老大的想法 也是在追求精益求精吧!所以说 代码是正经代码,老大正不正经就不知道了

 

为什么 今天要来吐槽呢  真的是 实在不爽,虽然本人不是完美主义者,但也多少有些强迫症吧!

在项目中 和同事合作中,看到同事的代码,真的是抓心挠肝的不舒服啊!

举个例子吧

项目用的是webwork + JDBC

本人的理解!不论是webwork 还是 struts 也好!其 action 的设计初衷 都是为了实现跳转功能!

当然 你在 这个层面 写一写简单的逻辑 来决定跳转 方向,这没什么!但 大篇幅的写 业务逻辑,那要Dao层干嘛啊?

再有 前台已经获得了 登录用户的 id 等信息,传回来就好了,为什么又在action 层中 大篇幅的 写 获取Request,然后getsession对象,然后再取出 user  然后 再取 id 呢?

不是多此一举嘛?

再来说说 dao层

DAO 的作用 编写业务逻辑,连接数据库,获得查询结果,组织返回数据格式,返回数据

我觉得应该 就是这样吧!

那么问题又来了,需要连接多张表,一次查出来所需数据好呢  还是 一张表查出来,然后需要其他表的数据,再循环基础数据 取出对应字段值 传给另一个查询方法 ,连库 查库 返回一条数据,解出想要数据,在拼装

到底哪个好!

如果是 码农 看起来 应该 没差别 ,毕竟结果一样!

但如果是程序员 是不是要考虑下 是 数据库语句连表 效率快 还是 多次连库效率快啊!还有就是 书写的代码量 那个更多! 

我一直觉得自己是个很懒的人,代码能少写就少些!

所以 从发现 公司喜欢用 jdbc 的时候

在上个项目开始 就写了几个 小方法,大体功能就是 仿照hibernate,根据实体类或者查询语句字段,通过反射或者 ResultSetMetaData 来实现 查询结果 自动封装到实体类

自己用起来 还是 挺舒服的  毕竟 一个表里 十几二十个 字段,让我一个个的 rs.get 我得疯!

再有就是 返回数据 用的json

自己也写了几个方法,封装了 状态,数据和返回信息几个字段吧 

毕竟觉得这几个字段算是基本必须内容吧!

 

反观同事写的代码,大篇幅的 rs.get 不说,我的方法在那摆着,也给我注掉了 不用 = =||

如果换做是我,有个让我少写代码,我一定好好看看 研究怎么用,然后搬过来用!!

当然这是个人习惯 不强求!

但有个很蛋疼的问题!你返回数据是不是也要多想一些呢?

咱们 query方法查询给前台数据 是不是的考虑下分页的感受啊!  你只返回个 list 你让我怎么分页啊!

前台手动算啊?

手动算没问题  你的考虑下 分页插件的感受吧!

人家等着 当前页  页数 呢,你不给人家?

在项目里发现有封装好的方法 传了 数据总条数,当前页,当前页数据等信息 直接返回json

很方便吧!

人家方法里 用了map 放了这些信息,算了页数也放进去,你非得把方法里 代码都抠出来 自己算,然后把 map 放到你list 的最后,然后再把list 转 json 这是干嘛呢? 这是有什么特殊用意嘛?

弄的我每次在用你的方法 循环的时候 都得去后台看看 你有没有在list最后塞个 map,如果有,循环次数得减一

(这是在很多 select 里发现最后一项是 undefined ,跟着往回找才发现的问题 = =||)

总过三个功能模块,我做两个 你做一个!

然后调试的时候,你的那个几乎是处处有bug!真的是步步有难,处处该灾啊!

这个项目 做到最后,真的是几乎90%都是我改的!~! 我媳妇还笑我,说没事的,现在这个项目是你的了= =|||
 

说实话,这要是放在 5年前,我碰见这样的小孩,绝逼是 一顿怼!现在 大家岁数都不小了,最重要的是 人家是项目负责人,我是个干活的,没法说!

 

其实 今天本来没想说这些,结果 一吐槽起来 就有点搂不住了!

今天想说的其实是 关于 ie内核 和 其他内核的 兼容性问题!

 

这其实也是我到现在想不通的地方!

在没给客户看之前的第一阶段,我无意间发现了这个项目 如果用 ie打开, 功能菜单是不显示的,控制台是报错的!

当时就有点懵比,心想这过两天就给客户拿去了,这不是要出事嘛!人家用的时候 用ie 就废了 !

作为一个欠蹬,我马上提出这个问题!

结果 人家想了想,说了个,先不管他!

额~ 好吧 你领导 你说了算!

但从此 心里就不得劲,总想研究研究 把这问题整了! 所以 得空 看了眼,研究了下,顺手把代码改了改,试了下 各个浏览器 都没问题了!

从那以后,看代码的时候 都是 随机地 多种内核 浏览器 都看看效果,也相继的发现了 js new Date 在ie 和非ie下 能接受的 参数规则还不一样!

试了下前台解决这个问题,发现 并没有什么通用方法!

所以 日期类的格式化 直接在后续代码中 写到语句里了!

在调试过程中,遇见的前台格式化 顺手也前后台 统一改了,目测效果不错!

后来 同事在开发的功能,因为 实在忙不过来,我也就没给他改,直到今天才发现那几个功能也有类似的问题!

实在是懒得动了,这么地吧!发现了再说吧!

 

貌似写了好多啊!吐槽吐得 我都不想打字了!

先这样!

最后!  同事可能也很用心,但可能技术还是有需要提升的空间!努力吧少年!我就已经技术很烂了,不要让我觉得年轻的你 更烂,而且不会变好!OK?

最后的最后 扣个题!

作为 能看到这里的 你! 我想说,能看我唠叨这么多的人,挺厉害!

那么 问题来了 ,你是想做个程序员 还是码农呢?


打赏

已有2人打赏

JOEH60的gravatar头像 最代码官方的gravatar头像
最近浏览
opq221  LV3 2023年3月22日
hclcyj  LV5 2021年6月16日
水光浮藻  LV6 2021年5月14日
17693522332  LV1 2020年11月7日
何寒衣  LV3 2020年8月28日
hui520 2019年12月24日
暂无贡献等级
栗劲松  LV2 2019年11月26日
hhuangh  LV5 2019年11月13日
1248612588  LV1 2019年10月22日
946665338  LV1 2019年10月15日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友