公司招了一个月薪2w 的.NET程序员,总觉得有哪里不对劲

作者: 一线码农聊技术分类: 软件应用 发布时间: 2023-09-08 08:09:12 浏览:10631 次

公司招了一个月薪2w 的.NET程序员,总觉得有哪里不对劲

虾米吃海豹2:
都知道哪里是可以优化的,但不是所有的代码都需要去优化,有时候就临时写一下,为了能跑通,复制粘贴最快,可能这段代码以后都是要整个删除的,为什么还要费劲吧啦去优化?抛开整个框架去扣代码细节无异于耍流氓。另外很多人看到连续的一些elseif就开始嘲讽,恨不得赶紧把人开了,但其实使用esleif也不是一无是处,因为后期业务逻辑很可能变得比较复杂,不是简单的key value键值对匹配,过早的把这段代码改成字典反而变的不灵活,最后发现还是得改回elseif。up看过整体代码,对程序质量有一定的发言权,但是评论区各位大哥其实根本没资格对这个程序员评头论足,一段代码看不出一个程序员的真实水平,那些看了一段代码就觉得一定是大神或者一定是个菜鸟的,你的判断不一定准,但是我能判断你大概率也是个菜鸟或者根本不懂编程

【回复】就这段代码而言,up主说的dict在性能和可维护性(修改的灵活性)上没有比if else差的地方,可读性会更好,甚至在分支更多的情况下字典性能和代码量的优势会更大。 说别人没资格评论这段代码,你认定下评论的就算菜,你的资格又从哪里来呢?
【回复】回复 @逾期之物 : 在写代码之前,优化的重点是算法复杂度(时间/空间)。Dictionary在很多情形下可以将时间复杂度从线性O(N)降低到常数级O(1) 。至于哪些情形,显然不是这里三言两语就说得清的,不要生搬硬套。 如果已经是开发阶段末期甚至投入使用,优化的重点则是先掌握如何测量来分析软件性能瓶颈,再决定如何优化:有时空间换时间,有时时间换空间,有时替换更精妙的算法,有时采用硬件加速。
羽高_1:
能在工期内实现需求就是好代码,现实中没那么多时间优化代码,优化是项目上线之后的事。

【回复】有些程序bug不断,有些程序,看着能正常跑,一说要增加需求变动需求,程序员第一个急眼,因为他自己知道自己的代码,完全没有灵活性扩展性,没有抽象编程,甚至一些需求会导致他的代码重写。因此,测试一个程序员水平,观察需求改动时他的反应就可以,如果一个程序员代码结构强大,他会暗自窃喜。
【回复】现在问题不是不想优化,是没时间优化,这个需求还没搞完又来一个,哪来的时间优化,先跑通了再说
【回复】回复 @浪漫的二进制 :代码写太好,新需求来了配个sql就完事了,老板6k块钱找了个应届生来把你顶了
不撤军的头号粉丝:
看了下逻辑似乎是批量条件查询再加行转列 视频中行转列这个逻辑倒是没啥 因为列就几个 再用个字典处理也不会改变时间复杂度 只是让代码简洁一些 循环查数据库这个可以优化一下 如果查询条件少的话直接用in拼接就可以了 查询条件多的话比如大几十上百个,那就得看数据库这张表的数据多不多了,如果不多比如不到2w那么把表数据加到缓存里定期更新就行 如果表数据又非常多 查询条件也非常多,那么只能把查询条件传到数据库调用存储过程了 存储过程里用查询条件生成临时表用join驱动大表查询 总之还是看使用场景

浪漫的二进制:
很多人说,有时候时间紧,没办法考虑那么多,等以后再优化。实际上,shi山代码就是这么来的。破窗效应了解一下。一个合格的程序员,在写初版代码时就要考虑到未来的需求变动和扩展,不是说一定要考虑很远,是要有个度量,在不同阶段知道怎么去平衡开发速度和扩展性。这样的话,重构的工作量也潜移默化地减轻了。如果程序员没有意识到这些,随着需求的完善,代码将被重构多次,且每次重构难度和工作量都比较大,更甚着,有的根本没时间或没精力重构,那么恭喜得到了shi山代码。

【回复】恭喜你,你写的很好,麻烦你去财务结算一下工资,快餐时代还追求质量,那你别去中小厂,直接去华为,腾讯算了
【回复】说实话,谁不想把初版代码写的优雅有拓展性,但实际上上线期天天蹦出来几个明天就要的功能,哪有什么功夫还去考虑抽象啊优化啊,今晚还想不想回家了,复制粘贴都嫌慢[热]。开发期就更不用说了,中国特色敏捷开发的周版本,自己都不知道自己明天会想什么的策划产品经理[热]经历过太多以为自己的系统已经足够有拓展性,但后续更改一出来只能直呼自己还是不够敢想。需求不会完善,只会无穷无尽地往你压根想不到的地方瞎改,代码写的再优雅也只能跟着变成shi山,或者好不容易有空了去重构一下[吃瓜]破窗效应首先是要有一堆完整的窗户,但是实际项目,只是一堆不知道怎么用的砖头,干的就是拆东墙补西墙的活
【回复】面对现实吧,而且屎山代码没什么不好,也没什么影响,很多程序从一开始就不需要考虑维护
AMB4115:
这个代码我一眼就看出来,他就是培训班出来的[笑哭]

程序文学家:
金融行业轻松十几万。一天啥事没有。码农就是个奴隶。累得要死。还被其他码农压工资。

【回复】笑出声,哪个村镇银行柜员轻松十多万?
一棵树叶:
支持up主。看这评论区就能理解为啥以前老有同行黑.NET性能差以及C#程序员水平低了。 对代码质量和执行性能态度都那么不屑,只知道拿项目进度紧挡箭,2w的月薪的确是多余了。

【回复】回复 @bili_27548164915 : 还老程序员的写法…多老算老?我接触C#也有十来年了。更何况老写法就不能评价了吗?以前字符串比较无视大小写,有一些人喜欢用ToLower转小写再比较;而后来则应使用StringComparison重载,避免ToLower导致可能的额外字符串分配。 这些“老”程序员开发一线业务时,对语言基本功都不屑一顾,为什么不能评价呢?屏幕代码中,反复调用ToString对不同的字符串做等于比较、for循环请求数据库,这还很难说差的话,我是鼓励你说的这些”内行“们赶紧转Java吧,毕竟同样写垃圾代码后者的薪资没准能高点。
【回复】有没有可能别人根本没看视频内容,直接说的日常开发的见解
【回复】回复 @哎郁闷 :以写这种代码为荣的也许不在少数。
黄鹂鸣翠柳表里双清汤:
打压别人,彰显自己,确实显示出了自己的高级

无常似尾花:
你就说能不能跑吧[滑稽]真要细究,顶多细究撑死也就循环里查询数据库“可能”优化下,要不要优化甚至还得看业务需求,我也写过list里循环查数据库,本身就一个定时任务不追求时效性,一次性查出来那玩意还得加锁校验,校验失败你还得再查一次最新的处理 有那功夫优化我不如一次次处理得了,反正撑死也就几百条

名字敷衍一下:
Foreach 嵌套,再套一堆if else,一堆硬编码的字符串,基本确定不是什么高水平的代码

【回复】[辣眼睛]有时候硬编码不是他的问题,是客户要求一定要硬编码~
【回复】是否硬编码这个不赞成,可能就一功能没必要搞其他。
supersoar:
卧槽,我加班加点都拿不到两万。[滑稽]

说是人生无常:
一般遇到多次查数据库,再根据数据进行处理的,我都直接写sql把数据一次整出来再说,其他高大上的处理方式我不会[doge]

【回复】不就是应该sql读取然后用adapter填充到dataset吗?数据库还有其他访问方式?
工资小于35k不改名:
别把自己卷死了,对立的是阶级不是程序员自己

火星大能猫:
遍历list再读取数据库是真离谱。可以判断肯定不是培训班出来的,任何培训机构都会强调尽量减少数据库的查询次数。

魔王BB酱:
我怀疑你是钓鱼的,骗评论的。没说什么业务,什么数据库,做什么功能。如果只是写个工具,那无所谓性能什么的

C# C#程序员 软件开发 .NET程序员 代码质量 .NET开发

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!