查看: 2568| 回复: 11
跳转到指定楼层
上一主题 下一主题
收起左侧

[职场感言] 新人之Coding Style 的疑惑

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 庞克莱门汀 于 2023-9-20 17:30 编辑

RT,TL没有提出空白行的问题,只是我自己写代码的时候,为了增加可读性,一段逻辑结束后加入 空白行,增加段落感。


就比如Leetcode一道题,207. Course Schedule, 这个是我的solution
  • 建图
  • 初始节点入队列
  • BFS kicks off



增加空白一行意味着新逻辑的开始。
  1. class Solution {
  2.     public boolean canFinish(int n, int[][] edges) {.1point3acres
  3.         Map<Integer, Set<Integer>> graph = new HashMap<>();.--
  4.         for (int i = 0; i < n; i++) graph.putIfAbsent(i, new HashSet<>());
  5.         int[] indegree = new int[n];
  6.         for (int[] edge : edges) {
  7.             int v = edge[0];
  8.             int u = edge[1];.google  и
  9.             indegree[v]++;
  10.             graph.get(u).add(v);
  11.         }. From 1point 3acres bbs

  12.         Set<Integer> visited = new HashSet<>();
  13.         int cnt = 0;
  14.         Deque<Integer> queue = new ArrayDeque<>();
  15.         for (int i = 0; i < n; i++) {
  16.             if (indegree[i] == 0) {
  17.                 visited.add(i);
  18.                 queue.offer(i);.--
  19.             }
  20.         }

  21.         while (!queue.isEmpty()) {
  22.             int u = queue.poll();. .и
  23.             for (int v : graph.get(u)) {
  24.                 if (visited.contains(v)) continue;. 1point3acres
  25.                 indegree[v]--;
  26.                 if (indegree[v] == 0) {
  27.                     queue.offer(v);
  28.                     visited.add(v);
  29.                 }
  30.             }
  31.         }

  32.         return visited.size() == n;
  33.     }
  34. }
复制代码
工作中写到的代码也有这个意思。




另外除了大段逻辑的划分,有一些小的频繁的代码, 也想划分,比如区分前
  1. public void test() {
  2.     Cell idCell = row.createCell(ID_IDX);
  3.     idCell.setCellStyle(Style.FAILURE);
  4.     Cell nameCell = row.create(NAME_IDX);
  5.     nameCell.setCellStyle(Style.SUCCESS);
  6.     Cell ageCell = row.createCell(AGE_IDX);
  7.     ageCell.setCellStyle(Style.FAILURE);
  8. }
复制代码
区分后:
  1. public void test() {
  2.     Cell idCell = row.createCell(ID_IDX);
  3.     idCell.setCellStyle(Style.FAILURE);
  4.    
  5.     Cell nameCell = row.create(NAME_IDX);
  6.     nameCell.setCellStyle(Style.SUCCESS);
  7.    
  8.     Cell ageCell = row.createCell(AGE_IDX);
  9.     ageCell.setCellStyle(Style.FAILURE);
  10. }
复制代码
PR中reviewer没有提出空白行的问题。
. check 1point3acres for more.


但是去年实习的时候,我的mentor,从🐶家出身,每次PR我的代码,都专门会让我把空白行代码删除掉。他的实力也很强。


今天,我也问了身边SDE好朋友,感觉这个问题没有最终答案,但是我们都比较偏向大段逻辑划分可以加空白。

. Χ
这个问题是不是仁者见仁,智者见智,opinion-based?


感谢各位指导!

上一篇:终于收到了亚麻拒信
下一篇:求问前端工作如何选择: Lacework, Doordash, Docusign, Intuit, Atlassian
全局:
以你们用的linting tool 为主 不要那么迂 不是什么大问题

评分

参与人数 2大米 +2 收起 理由
pr1234567 + 1 赞一个
庞克莱门汀 + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

地里匿名用户
推荐
匿名用户-IHG6P  | 添加认证 | 2023-9-21 07:38:28 来自APP
熟读google coding style
回复

使用道具 举报

地里匿名用户
推荐
匿名用户-VTZRC  | 添加认证 | 2023-9-21 11:44:53
想起实验室同学的导师,有一次到同学的办公桌前听报告,忽然说等一下,然后用同学的鼠标,把同学电脑里windows右下角的网络链接图标拖拽到了右数最后一格。
然后如释重负,若无其事地让同学继续作报告。
回复

使用道具 举报

🔗
红A 2023-9-21 06:34:54 | 只看该作者
全局:
不需要空白行,context一起的可以合并增加可读性
回复

使用道具 举报

🔗
 楼主| 庞克莱门汀 2023-9-21 08:41:34 | 只看该作者
全局:
ryanzhang0530 发表于 2023-9-20 17:33
以你们用的linting tool 为主 不要那么迂 不是什么大问题
..
好的,非常感谢!
回复

使用道具 举报

🔗
 楼主| 庞克莱门汀 2023-9-21 08:42:31 | 只看该作者
全局:
红A 发表于 2023-9-20 17:34-baidu 1point3acres
不需要空白行,context一起的可以合并增加可读性

非常感谢大佬!

评分

参与人数 1大米 +5 收起 理由
红A + 5 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| 庞克莱门汀 2023-9-21 08:47:09 | 只看该作者
全局:
匿名用户 发表于 2023-9-20 18:38. 1point 3acres
熟读google coding style

好的,搜了一下确实是有的,非常感谢. ----

A single blank line may also appear anywhere it improves readability, for example between statements to organize the code into logical subsections. A blank line before the first member or initializer, or after the last member or initializer of the class, is neither encouraged nor discouraged.

本帖子中包含更多资源

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
回复

使用道具 举报

🔗
beetle 2023-9-21 08:48:26 | 只看该作者
全局:
每个组都应该有一个coding convention
无所谓对错,但是同一个文件里的格式应该统一
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-PXXJX  | 添加认证 | 2023-9-21 09:14:37
一眼看起来,以为你的代码从花生厂的产品里拷贝粘贴代码出来后\r\n和\n搞砸了。
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-BSWUK  | 添加认证 | 2023-9-21 11:30:17
沒想到1point3acres對code也會打廣告
原本沒看是啥字詞的時候還以為你的code加的不只有空行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
职场达人
  • ↑ 本版用于讨论职场各种干货话题,闲聊请去🔗聊聊或者🔗匿名版
  • ❌ 本版严禁水贴,引战,发布广告,拉群,贴个人联系方式,扣分无警告
  • ☑ 求职、面经等去 🔗北美求职和 🔗回国求职大区,刷题和学习请去 🔗终身学习大区
  • ☑ 请去专版发布 🔗内推, 🔗招聘信息,和讨论 🔗创业内容
  • ☑ PIP / DevList/ Need Support 等话题也已开设 🔗专版

本版积分规则

>
快速回复 返回顶部 返回列表