你会吗?
如果我现在问下大家你会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?