“会”和 "好”纯粹是两个概念
你会吗?
如果我现在问下大家你会OOP 吗?你会OOD吗?
你知道SOLID吗?你会在实际工作中运用这些原则吗?
你知道模式吗,你会在实际项目中适时引入合理的设计模式来解决项目中的代码坏味吗?
你知道ORM框架吗?你会使用EF吗?
你知道WebAPI吗?你会设计合理的API吗?
你知道MVC吗?你会用MVC写一个权限系统吗?
你真的会吗?
事实上好多人只是停留在“知道”这个层面,实际工作中总是会用各种理由来让自己的代码充满的“坏味”和“坑”。
会OOP和OOD的同学总会整出好多多功能类。
会SOLID的同学总是常常使用public的字段,不注意提炼接口。
会设计模式的同学,总是在系统代码中充斥着冗余的耦合性及高的“三层”代码。
会设计模式的同学也搞不清MVC,MVP,MVVM到底有啥区别。
会ORM框架的人总是在一个全局的DbContext中执行n多次commit,然后还来一句“EF性能整的好差”。
会WebAPI的同学设计API还会在实现时不使用OK()和NotFound(),而是自己重复着各种花样的返回结果。
会MVC的同学不懂得PartialView,还会controller中使用IQuerable的对象以及DbContext。
这些做法的最后结果就是代码还乱,加班做完更乱?
最后来一句“C#性能就是没有C++好”,敢问就这个样子去写代码,用C++只会让你死都不知道死在那里。
够好吗?
实际项目中我也看到好多同学,看到了使用了.NET的特性,如果扩展方法,经常回个string类型写个扩展类,可谁知项目中随处可见重复或者类似功能的代码。
也有同学在代码中使用了Linq,可是一个匿名方法写了两三百行,你让看代码的人情何以堪? 或许你小时候一定是写综合方程表达式受过老师无数的表扬,让后现在也计划一个匿名函数把所有业务都搞定。
至于重复的代码?和不一致的命名规则,以及文件组织结构。你是否能够刚觉到代码让你看的时候感觉到舒畅?
重要单元测试的缺失,每次修改BUG都把测试交给一个不知所措的测试人员。是一种严重的缺乏职业品质的做法,更不用说工匠精神啦。
还有好多,待续。
小结
希望真心想做技术的同学不要只停留在“会”,更要追求“好”,“更好”。
只有这种想法在你脑海里时常出现,才会让我们的向“技术大牛”看起,才会有朝一日走向“技术大牛”。
另外就是学技术不要停留在“HOW”,更要多问问What,WHY,WHEN,WHERE?
“会”和 "好”纯粹是两个概念的更多相关文章
- The "get" method should be used when the form is idempotent---正交的两个概念---
https://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.1 17.13.1 Form submission method The me ...
- 前端路由、后端路由——想要学好vue-router 或者 node.js 必须得明白的两个概念
前端路由和后端路由的概念讲解 引言 正文 一.路由的概念 二.后端路由 三.前端路由 四.其他知识 结束语 引言 无论你是正在学习vue 还是在学习node, 你一定会碰到前端路由和后端路由这两个概念 ...
- 鸿蒙内核源码分析(并发并行篇) | 听过无数遍的两个概念 | 百篇博客分析OpenHarmony源码 | v25.01
百篇博客系列篇.本篇为: v25.xx 鸿蒙内核源码分析(并发并行篇) | 听过无数遍的两个概念 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度 ...
- Vue2.0 中,“渐进式框架”和“自底向上增量开发的设计”这两个概念是什么?(转)
https://www.zhihu.com/question/51907207?rf=55052497 徐飞 在我看来,渐进式代表的含义是:主张最少. 每个框架都不可避免会有自己的一些特点,从而会对使 ...
- java is-a、has-a和like-a、组合、聚合和继承 两组概念的区别
is a 代表的是类之间的继承关系,比如PC机是计算机,工作站也是计算机.PC机和工作站是两种不同类型的计算机,但都继承了计算机的共同特性.因此在用 Java语言实现时,应该将PC机和工作站定义成两种 ...
- 两个概念:CCA和LDA
典型相关性分析(CCA) https://blog.csdn.net/Mbx8X9u/article/details/78824216 典型关联分析(Canonical Correlation Ana ...
- 如何理解andriod中的View和framelayout两个概念
View 和 FrameLayout 是包含关系,FrameLayout 继承自ViewGroup,然后继承自View. FrameLayout是一种 ViewGroup,可以在里面放其它的View, ...
- Oracle User Calls 和 Executions 两个概念的区别
User calls = (User session Login + Parsing within a session + Executions of sql's/Cursors ) per seco ...
- The "get" method should be used when the form is idempotent---正交的两个概念 get 幂等
https://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.1 17.13.1 Form submission method The me ...
随机推荐
- 解析大型.NET ERP系统 分布式应用模式设计与实现
C/S架构的应用程序,将一些复杂的计算逻辑由客户端转移到服务器端可以改善性能,同时也为了其它方面的控制..NET Remoting在局域网内调用的性能相当不错.ERP系统中基于.NET Remotin ...
- CSS3 Notes: -webkit-box-reflect实现倒影
平常我们要实现倒影的效果,一般的做法是使用多个DOM元素绝对定位+scale(负-1)或者rotate.这种方法的缺点是占据空间以及DOM元素过多. 在使用webkit内核的浏览器中(chrome,s ...
- CSS float 定位和缩放问题
今天调试一个看起来很简单的前端问题,但却花了太多的时间,示例代码: <!DOCTYPE html> <html> <head> <title></ ...
- Vertica 导出数据测试用例
需求:构建简单的测试用例,完成演示Vertica导出数据的功能. 测试用例:导出test业务用户t_jingyu表中的数据. 一.初始化测试环境 二.导出数据 2.1 vsql命令说明帮助 2.2 导 ...
- Java豆瓣电影爬虫——使用Word2Vec分析电影短评数据
在上篇实现了电影详情和短评数据的抓取.到目前为止,已经抓了2000多部电影电视以及20000多的短评数据. 数据本身没有规律和价值,需要通过分析提炼成知识才有意义.抱着试试玩的想法,准备做一个有关情感 ...
- [入门级] visual studio 2010 mvc4开发,用ibatis作为数据库访问媒介(一)
[入门级] visual studio 2010 mvc4开发,用ibatis作为数据库访问媒介(一) Date 周二 06 一月 2015 By 钟谢伟 Tags mvc4 / asp.net 示 ...
- JSP 9大内置对象详解
一.内置对象特点: 1.由JSP规范提供,不用编写者实例化. 2. 通过Web容器实现和管理 3.所有JSP页面均可使用 4.只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%> ...
- iOS项目开发中的知识点与问题收集整理①(Part 一)
前言部分 注:本文并非绝对原创 大部分内容摘自 http://blog.csdn.net/hengshujiyi/article/details/20943045 文中有些方法可能已过时并不适用于现在 ...
- flhs笔试题-回家上机实践
这是最近参加的一个公司的笔试题,回家上机写了下代码,希望对有需要的小伙伴有用,简单实现字符串和数组在指定位置的插入: package org.flhs; import com.google.commo ...
- Atitit.兼具兼容性和扩展性的配置方案attilax总结
Atitit.兼具兼容性和扩展性的配置方案attilax总结 文件配置法1 Jdbc多数据源文件配置发1 Bat文件配置法1 改进的文件配置法(采用类似i18n技术) 推荐1 使用自动化pc_id的方 ...