加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

如何成为一名优秀的工程师(语义篇)

发布时间:2019-03-08 07:30:47 所属栏目:优化 来源:佚名
导读:副标题#e# 好的语义表达是团队协作中高效迭代的润滑剂,好的语义表达是线上未知代码问题排查的指南针。 本篇文章巨长,如果你比较懒,来我讲给你听(直播中有更多细节) 回放地址 看完这个还不过瘾?学习使你快乐?还想学习?快上车 不要让其他人读不懂你的代码
副标题[/!--empirenews.page--]

好的语义表达是团队协作中高效迭代的润滑剂,好的语义表达是线上未知代码问题排查的指南针。

本篇文章巨长,如果你比较“懒”,来我讲给你听(直播中有更多细节) 回放地址

看完这个还不过瘾?学习使你快乐?还想学习?快上车

不要让其他人读不懂你的代码,其他人可能就是一周后的你。时刻以“如果你写的这段代码出现故障,一个陌生人接手你的代码需要多久能处理完这个bug”来监督自己。

日常中应该多多刻意提升自己语义表达,百利而无一害。那么我们应该从哪些细节去做好语义表达呢? 

如何成为一名优秀的工程师(语义篇)

以下代码全为我的艺术创作,不属于任何实际项目

命名

案例1

  1. function getGoods($query, $shopId) 
  2.     $goodsId = Goods::add($query["uid"], $query["name"]); 
  3.     return Shop::add($goodsId, $shopId); 
  4.  
  5. class Goods 
  6.     public static function add($uid, $name) 
  7.     { 
  8.         $id = mt_rand(1, 100000); 
  9.         return $id; 
  10.     } 
  11.  
  12. class Shop 
  13.     public static function add($goodsId, $shopId) 
  14.     { 
  15.         $id = mt_rand(1, 100000); 
  16.         return $id; 
  17.     } 
  18. }  

案例2

  1. function getUserInfo($teamId, $youId = []) 
  2. {  
  3. }  

如果仅仅有这个函数名和参数名,谁能猜到参数的意义呢?

案例3

  1. class Db 
  2.     /** 
  3.      * @param string $table 数据库表名 
  4.      * @param array  $data  新增数据 
  5.      * 
  6.      * @return int 新增主键 
  7.      */ 
  8.     public static function insert(string $table, array $data) 
  9.     { 
  10.         $id = mt_rand(1, 1000); 
  11.         return $id; 
  12.     } 
  13.  
  14. class ViewLogStore 
  15.     private $table = "view_log"; 
  16.  
  17.     function setHistory($data) 
  18.     { 
  19.         Db::insert($this->table, $data); 
  20.     } 
  21. }  

案例4

假如业务代码里有这些类

  1. class WechatUserModel{ 
  2. class WechatGroupModel{ 
  3. class WechatMessageModel{ 
  4. }  

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!