在软件外包公司干了一年,离职的时候发现自己的代码有漏洞,怎么办?

再见丶无法复制的曾经


对于这个问题,我谈谈自己的看法,如果有不认同的,请大家留言讨论。


改掉 > 给出方案 > 告知 > 不做声

如果是我,这就是我的态度和做法。

如果时间充裕的话,尽可能的改掉,同时告知直属领导,这个问题产生的原因和修改方案。

如果时间不允许的话,比如工作已经交接完了,第二天就不来单位了,那么想想缺陷的解决方案,然后告知直属领导和交接工作的同事;如果解决方案没有考虑清楚,那就先把问题反映出来。

千万不要不吭声,让这个缺陷一直在环境上运行。


职业操守、同事情谊、将来可能还会遇到

为什么要这样做?我觉得很少人会选择默不作声吧,毕竟程序员都是善良的(闷骚的)小哥哥。

  • 职业操守:这个说法就有些大了,什么职业操守,自己觉得是正确的事情,就要去做。

  • 同事情谊:谈不上情谊,至少都是一个战壕的战友,而且程序员之间的关系都很单纯,很少有职场斗争什么的,所以这种问题,该说就说了。

  • 将来可能还会遇到:这个就有意思了,我用十多年的工作经验告诉大家,只要你还从事这个业务行业的IT工作,那么以后有很大的可能,你跟你的同事、领导会在另外一个公司遇到。万事留一线,日后好相见。


我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。


会点代码的大叔


作为一名从业多年的老程序员,我来说说我对这个问题的看法。

代码为什么会出现漏洞?代码编写是一个以脑力劳动为主的工作,不同程序员在解决问题的思路上并不完全一直,也就是说同一个功能通常有多种实现方式和途径,所以代码出现各种问题是不可避免的,即使有精细化的管理过程,也避免不了代码出现各种漏洞。

简单的说,代码存在漏洞具有一定的客观性。所以,为了避免代码在编写过程中出现各种问题,软件公司通常会有比较精细的管理流程,在这方面欧美国家包括日本做的都不错,做过对日外包项目的程序员应该深有感触。

另外为了保障产品的质量,软件开发团队都会有配套的测试团队,测试团队的任务就是检查产品质量,尽量避免出现各种软件漏洞。好的测试团队也会帮助程序员不断成长,程序员的能力不仅体现在代码的编写速度上,也体现在代码质量上。

通常情况下,如果程序员在工作中发现代码有漏洞一定会及时处理并做好标注。不少团队都会定期探讨漏洞的出现点以及对应的解决方案。虽然很多程序员对这个过程比较反感,但是从软件团队的管理方面来说,这个过程还是很有必要的。

如果发现漏洞的时间点恰好出现在离职期间,作为程序员来说首先要做的事情应该是做好标注。然后跟负责人做出说明,如果条件允许的情况下最好处理完再离职,这不仅体现了一个程序员的职业素养,也体现了对程序员工作本身的态度。

我带软件团队多年,我会陆续在头条上写一些关于软件开发方面的科普文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。

如果有软件开发方面的问题,也可以咨询我。

谢谢!


IT人刘俊明


能怎么办?

1. 表示自己检查时发现漏洞,并作出修改方案交给上司,以表示你站好最后一班岗。这会为你留下一个好印象,以后有需要大家帮助的地方,大家也会更愿意帮你,因为你的个人信誉摆在那里;

2. 什么也不说,假装没事发生,也是情理之中。毕竟也是要离职了,如果离职时才发现问题,比较小气的上司可能会疑神疑鬼,觉得你之前怎么发现不了,是不是不认真工作。如果没有什么感情,也没有什么想法的,那放在那里留着等下一任来接手就是了。

3. 利用漏洞报复公司,是万万不可的行为。如果你对公司有什么不满,也不要在离职前倒打一把。钱给少了,可以协商,不行就去劳动仲裁,不要用违反道德、法律的方法去报复他们,因为任何风吹草动都会影响你的风评,更不值得为此把自己搭进去。

不要把自己的退路堵死,也不要低估大家的八卦心理,好聚好散,站好最后一班岗,日后才好相见。


王锐旭


我是一名做了6年的程序员,来谈谈我的看法。

从职业道德来说,如果你发现了这些漏洞,要及时的反应给公司或者交接给其他同事,有很多人出现离职后就不在接电话,甚至直接把老板微信拉黑,职场跟做人一样,圈也就这么大,要随时跟自己留条后路。

从程序员的角度来说,发现漏洞并及时去修复漏洞也是作为程序员一种基本素质,有句话叫温故而知新,可能写好的代码过段时间你在去看,就会有这种感受,这也是代表你的编程技术在提高的表现,如果是程序的漏洞,你又发现了问题,证明自己的理解又上了一个新的台阶,如果你把这个漏洞告诉了同事或者公司的话,对自己也是一个圆满的归宿。


温县圈儿


从职业道德来讲,可以把这些漏洞信息说给你的交接人或者上司,有句话叫好聚好散,可能很多人都会觉得已经离职了,干嘛还要多此一举,离开已经和你没有任何关系了。混职场其实和做人一样的道理,人都会走背字的时候,不要时时刻刻把自己的路给堵死了,留下一个良好的印象对于别人和自己都是一件很愉快的事情,这个世界上虽然看上去很大但凑巧的事情的确很多,算是给自己做个积德的事情。

从代码的角度来讲,自己认识到出现问题了,及时的去修正也是作为一个程序员的基本素质,一般的老程序员都有这种感受,之前写的代码重新拿过来再去研究发现又会有新的知识点,每隔一段时间去审视下代码几乎每次都有一定的感受,其实这就是编程水平不停提高的一种表现,如果自己本身发现了代码的漏洞,证明了自己的理解又上了一个台阶,是一件很不错的事情,如果这个漏洞告诉了交接人,也算是给自己的代码一个圆满的归宿。

在实际写代码过程中如何减少代码漏洞的出现,作为一个写了十几年代码的老程序员总结出以下

四种解决方案:

1.在模块设计之初,就要把里面的来龙去脉搞清楚,数据结构的设计上一定要留出足够的时间

2.在写代码之前就要把可能会出现的漏洞在自己的大脑中过滤一遍,避免低级的错误出现。

3.写过的代码模块一定要加上单元测试,来测试代码的稳定性

4.写过的代码最好找个水平相当的帮你审核下,看看有没有明显的漏洞

基于以上四点能很好的避免出现代码的漏洞,要想写的代码一点漏洞也么有不是一件现实的事情,所以代码漏洞主要影响因素,一个是基本功,一个是框架思想,设计的模块就容易暴露漏洞,所以相对来讲有经验的老程序员代码的质量会高很多,熟能生巧,多看多练才是关键。

希望能帮到你。


大学生编程指南


那个软件没漏洞,只要不是自己故意留的后门。我们有个客户单位,找了一家安全公司,对他们公司的所有软件进行了一次排查,结果发现很多漏洞,比如sql注入~有些页面没session检验。我们公司也是其中一家,一开始很怕会影响他们对我们公司的映像,结果他们反而对我们公司更加信任了。他们说基本其他公司部署的软件也有很多漏洞,但我们公司几天就修复漏洞了。


1378984


遇到上述问题,相信很多人的建议都是不用负责,交接完等于毫无瓜葛,比较极端的做法大不了就是删库跑路……但是我想说的是,离职最能看出一个人的人品和责任心,也最能检验一个公司对待员工的真实态度。所以上述问题,追根到底其实是考验人性的一个过程。

站在离职员工角度,大概有3种处事态度:

  • 1.积极上进的做法!如果你将事情讲明白,老板也认同的话,最好结果!这样相互取得信任,以后也好继续相处(谁能不能保证自己今后不会再会老东家,而人脉关系永远都是一笔宝贵的财富)。

  • 2.消极的做法!恩断义绝,老死不相往来……最终的结局就是矛盾升级、误会积累。有一点要注意,员工在离职的时候还没有结算当月工资或者还有没发年终奖的情况,企业是否能够按时数额准确的发放工资完全取决于员工的离职态度。

  • 3.偏激的做法!相互撕逼,鱼死网破。更有甚者可能会在离职之前估计埋下更多的bug,上升到报复公司的级别。本来离职很正常的现象,硬是要演绎成世界大战,我觉得这是非常没有必要的。

在程序员这个职业里面,英雄主义实在太普遍了。有无数的理由说服领导、PM和自己,要重新造个轮子,因为大家都认为自己天下无敌了,但是又不好承认看不懂别人的代码。如果你的个人影响力和表达能力有限,没有足够的理由说服其他人选择这个轮子,又不愿意花时间推动和完善,那么最后的结果是,你认为这么美好的东西,真的只是你这么认为。等你不再维护了,离职了,下一个人又会循环这个过程...

我个人认为,其实最难的不是自己写代码,而是维护别人写的代码,在复杂的逻辑中找到某一个隐藏得很深的bug,或者在某个(些)位置添加一些代码以实现新的功能。你需要按照最初实现者的思路去理解,这往往是最难的,这个过程中非常让人容易产生挫败感和不良情绪。

所以个人建议,为了不给对接员工填麻烦,也是为了自己避免深陷麻烦之中,希望大家都能对自己写的程序负责到底。


从不加班的程序猿


无论是外包公司还是自己服务的公司,作为一个程序员来说知道代码有漏洞,首先就是要分析漏洞的原因,在离职的时候发现的,也是有很多机会来补救的。

反馈办法

1、可以和对接人来进行交接,告诉他哪里代码有漏洞是怎么产生的,最好是告诉一下需要怎么修改,因为这和自己咋什么公司无关,主要是一个程序员的自我修养和道德的问题,这里并不是说道德绑架之类的,因为这也不涉及,就是一个漏洞修复就好。

2、可以和领导沟通,要是忘了和对接人说的话,或者交接时间有限,可以和领导沟通,这块的问题在哪里,再由领导来指定人员来解决。

提升自己

对自己也是一种考验,有些人在外包干,觉得自己没有归属感,尤其是自己要离职了,就会像,这个跟自己没有关系了,但是作为一个优秀的程序员来讲,出现bug并不可怕,可怕的是自己都没法面对,俗话说“前人搭树,后人乘凉。”,我们尽可能要给自己的对接人减少不必要的障碍,给人留个好的口碑。

最后要说的的注释、注释、注释,重要的事情说三遍,别到时候自己都看不懂了呦。


TesterDriver


往往职业道德,能决定你未来高度,认真做好每一件事。离职代码发现漏洞时,有时间的尽量修复,时间不够留下文档,说明漏洞所在和修复思路,既不坑人,又能让自身成长,说不定无心插柳柳成央呢


点点23038568


我的答案很简单,尽量修复掉。你把这个搞定了,是一种技术成长和经验积累,对将来的职位有好处。反过来说,如果你放着不动走了,其实对人家公司也没什么影响,现在版本更新和代码重构普遍很频繁,今天还在working 的代码可能几周后就没有调用了或者不存在了,别把自己的工作想的太重要


分享到:


相關文章: