首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序员在代码审查时,遇到这样的领导是好是坏?

今天在浏览网站的时候,看到别人发的这么一个帖子,刚刚入职一个新公司,代码审查的时候,leader 对他的代码进行了一些修改,而这个程序员感觉很多地方没有必要,你们看完上面这个帖子什么感觉?...看法 我看的看法是: 一是,遇到这样的领导真的很好,咱先不讨论领导这样的修改,有些地方是否有没有必要,光看领导这么事无巨细的在这些小地方都帮你 code review 进行一些修改,就说明领导非常负责,...还有一个地方比如:a.do1() a.do2() ,领导给修改成 a.do1.do2(),或许没必要,但是领导的这个修改可以让代码更简洁,看起来更方便,在维护代码和更新迭代上来讲,确实让你一眼就懂,很清楚...这就要求团队必须有一个代码规范。 比如:上述程序员,不满意领导的修改,你先看看团队里有没有代码规范,代码规范是对于命名是怎么规定呢?...其实,我认为代码评审,不仅仅是领导的事,每天抽出一个小时,团队里每个人都对其他人的代码进行评审也是非常好的,不仅可以找到各自身上写代码的缺陷和毛病,还可以学习别人写代码的优点。

53040

在程序员这个职业当中遇到只提需求,自己不写代码却挑别人代码错误的同事是什么感受?

作为一个写了十几年代码的老程序员,楼主说的同事其实就是产品经理或者项目经理,提出需求是老板赋予他们的职责,作为一个程序员首先要懂得如何拿到需求然后进行任务拆分形成代码段,然后实现完成了之后就开始测试,通过之后提交代码...至于说不写代码却在挑别人的代码错误,这种事情正向看可能是有多管闲事的嫌疑但本质上看有人对你的代码提出质疑证明代码可以修复的空间还是有的,游戏的程序员都会持续不断的优化代码,越是水平高的代码越是不断的折腾自己写过的代码...写的代码就是给人看的,就是让别人挑毛病的,优质的代码让别人看了无可挑剔。...现实中项目经理或者产品经理的职责是对产品负责,正常来讲不会关心技术实现细节,只关心功能,对于整个产品特性是有好处的,如果只是从程序员角度出发去做产品,在功能上可能非常稳定,但产品特性肯定会大打折扣。...程序员对待需求变化在合理状态下需要平常心对待,抗压能力也是优秀程序员的一个品质,只有经受住大的项目考验的程序员才是合格的程序员。

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    每个分析师都会遇到的7个面试谜题

    现在,想在分析行业里分得一杯羹是非常不容易的事情。约三成的分析公司(特别是顶尖公司)会要求应聘者解决谜题,并借此评估他们的能力。从中他们能够观察出你是否逻辑清晰,思维活跃,且精通数字处理。...但是这种解决问题的能力不是一朝一夕得来的,需要有计划地训练和长期的坚持。 对我来说,解决谜题就像是脑力训练。我每天都会做,长期下来我觉得效果显著。...为了帮助你也达到这种效果,我和你们分享一些我遇到过的最复杂最费解的问题。这些问题在一些大公司的面试中也出现过,如高盛投资、亚马逊、谷歌和摩根大通公司等。 解题之前不要偷瞄答案哦!...在执行死刑的前一天晚上,典狱官告诉他们如果他们能合力解决一个难题,那么就免除他们死刑。执行死刑的方案如下: 在执行死刑的那天,所有的罪犯都会站着排成一列纵队。每个人都会带上一顶帽子,要么蓝色要么红色。...(当所有杯子朝向一致时,摇铃示意) 他可以根据以下规则重新摆放这些杯子:一次只能看两个杯子,在摸清楚这两只杯子的朝向只有,可以选择动1个,或2个,或者2个都不动。每一轮结束后,旋转餐桌都会随机转动。

    98890

    硬币翻转

    如果每次翻转一个硬币,在进行一定次数的翻转后,就可以使所有的硬币都正面朝上或者反面朝上,即状态一致。...如果只有1个硬币,它正面或者反面都可以,因为没有其它可对比的,所以状态都一致,不用翻转,那么最小的k就是0。 如果有2个硬币,那么初始时可能有以下3种状态:2个正面,2个反面,1正1反。...再回到上面的3个硬币的情况,只需要考虑有1个正面和有2个正面。 如果都翻转1次,可以使所有的一致,但对于初始时全部相同的情况也必须翻转1次,就一定会产生不一致,所以1次不行。...04 代码实现 当然这个问题的难点并不在coding,这只是推理成功之后的附属品。 if ((n & 1) == 0) printf("No Solution!...有个经验分享给大家,如果你发现你解决一个问题时逻辑非常的复杂,要考虑很多分支情况,这时我可以大概率的猜测,90%你的方法是不对的,因为正解永远都是非常优雅简洁的。

    94720

    这款漂亮的小程序,以后帮你做选择

    小程序体验师:陈丹阳 当遇到令人纠结的问题时,可以用掷硬币的方式无脑解决。 然而,在这个纸币都快被代替的时代,想找到一枚硬币真的好难。没有硬币,问题们是不是就无解了?...今天,知晓程序(zxcx0101)为你推荐一款小程序「抛个硬币」,让它作为「硬币」,帮你做出决定。 想要通过「掷硬币」小程序做出选择,操作十分简单。...你会看到一枚飞速翻转的卡片,心跳加速,好紧张…… 停止时,就会出现「正」或「反」的结果,二选一的难解问题,瞬间就被解决了。...除了选择「抛硬币」这样的二选一问题,这款小程序还提供了「今天吃什么」和「今天喝什么」两个卡片功能。 同样是点击卡片,然后就能看到翻转之后的结果。如果不满意,就再点击一次。 ?...「抛个硬币」最后一张卡片的功能是「砍数字」,点击卡片,就会出现一个数字。 这个功能的使用场景,使用者可以充分发挥想象。比如:聚会时做个数字游戏,或者根据数字特点决定一件事等等。

    1.3K10

    【独家重磅】来自华尔街的量化金融面试Q&A(第三期)

    如果第一堆有m个正面朝上,那么第二堆一定有20-m枚硬币正面朝上。我们也知道在第一堆中有n-m枚硬币反面朝上,我们显然不能简单的通过调整n来保证m=10。 那么,我们应该怎么做呢?...如果你愿意的话,可以把硬币翻转过来,因为我们无法知道硬币的另一面是什么。...所以,如果我们有选择的翻转硬币我们不能保证什么,但是如果我们把第一堆所有的硬币都翻转过去,所有的正面的变成了反面,所有的反面变成的正面。因此,它将有n-m枚正面和m枚反面(对称)。...如果我们随机抽取20枚硬币,把它们翻转过来,那么在这些被翻转过来的20枚硬币里,正面的数量应该与其他980枚硬币中的正面数量相等。...Answer18 pass语句不会执行任何操作,一般作为占位符或者创建占位程序。

    1.3K30

    传说中的贝叶斯统计到底有什么来头?

    然后该实验理论上无限次重复的,但实际上是带着停止的意图的。例如当我脑海中带着停止的意图时,它重复1000次或者在掷硬币过程中我看到最少300词头在上的话,我将停止进行实验。...要注意的是,虽然投掷的数量增加时,头在上的实际数量和头在上的预期数(抛掷数目的50%)之间的差异会逐渐增大。但是以抛掷的总数来说,头在上出现的比例接近0.5(一个公平的硬币)。...θ时,我们结果的可能性。...如果我们的硬币的公正性是多个视图(但不知道是肯定的),那么这告诉我们看到翻转的一定顺序为我们在硬币的公平信念所有可能性的概率。 P(θ|D) 是观察,即头在上数目之后我们的参数。...(x,shape1=alpha[i],shape2=beta[i]) plot(x,y,type="l",xlab = "theta",ylab = "density") } 随着越来越多的翻转被执行

    73760

    深度 | 传说中的贝叶斯统计到底有什么来头?

    然后该实验理论上无限次重复的,但实际上是带着停止的意图的。例如当我脑海中带着停止的意图时,它重复1000次或者在掷硬币过程中我看到最少300词头在上的话,我将停止进行实验。...要注意的是,虽然投掷的数量增加时,头在上的实际数量和头在上的预期数(抛掷数目的50%)之间的差异会逐渐增大。但是以抛掷的总数来说,头在上出现的比例接近0.5(一个公平的硬币)。...θ时,我们结果的可能性。...如果我们的硬币的公正性是多个视图(但不知道是肯定的),那么这告诉我们看到翻转的一定顺序为我们在硬币的公平信念所有可能性的概率。 P(θ|D) 是观察,即头在上数目之后我们的参数。...(x,shape1=alpha[i],shape2=beta[i]) plot(x,y,type="l",xlab = "theta",ylab = "density") } 随着越来越多的翻转被执行

    1.3K50

    【总结】1672- 什么是 ”无渲染组件“ ?

    掷硬币组件 假设你现在需要实现一个掷硬币的功能,当组件渲染时模拟一次掷硬币!一半的时间组件应该渲染 “正面”,一半的时间应该渲染 “反面”。你对你的产品经理说 “这需要多年的研究!”...或着你一边向 CoinFlip 中添加 DiceRoll 的复杂功能,一边看着组件无法承受过多职责而崩溃。(是否有一个给忧郁的程序员诗人的市场?我喜欢追求这种技术。)...无头组件了解一下 无头用户界面组件将组件的逻辑和行为与其视觉表现分离。当组件的逻辑足够复杂并与它的视觉表现解耦时,这种模式非常有效。...因为它没有渲染任何东西,它期望当它在处理逻辑的时,各种 consumers 完成视觉表现。...即使是简单的实现,也可以到达我们的要求。它甚至可以作为 View 和 Controller 来实现。或者是 ViewModel 和 View。这里的重点是将翻转硬币的机制和该机制的 “界面” 分离。

    20520

    2013第四届蓝桥杯Java组省赛题解析

    2013第四届蓝桥杯Java组省赛题解析 目录 第一题:高斯日记 第二题:马虎的算式 第三题:第39级台阶 第四题:黄金连分数 ​第五题:前缀判断 第六题:三部排序 ​第七题:错误票据 第八题:翻硬币...25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0 则排序后为: -3,-2,-16,-5,0,0,0,21,19,33,25,16,18,25 请分析代码逻辑...每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。...比如,可能情形是:**oo***oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面...注意不要求输出每个表示 只统计有多少表示法 例如用户输入100 程序输出11 再例如用户输入105 程序输出6 代码分析:对1-9进行全排列,枚举加号除号的位置,符合条件的式子加一; package

    34540

    什么是 ”无渲染组件“ ?

    掷硬币组件 假设你现在需要实现一个掷硬币的功能,当组件渲染时模拟一次掷硬币!一半的时间组件应该渲染 “正面”,一半的时间应该渲染 “反面”。你对你的产品经理说 “这需要多年的研究!”...或着你一边向 CoinFlip 中添加 DiceRoll 的复杂功能,一边看着组件无法承受过多职责而崩溃。(是否有一个给忧郁的程序员诗人的市场?我喜欢追求这种技术。)...无头组件了解一下 无头用户界面组件将组件的逻辑和行为与其视觉表现分离。当组件的逻辑足够复杂并与它的视觉表现解耦时,这种模式非常有效。...因为它没有渲染任何东西,它期望当它在处理逻辑的时,各种 consumers 完成视觉表现。...即使是简单的实现,也可以到达我们的要求。它甚至可以作为 View 和 Controller 来实现。或者是 ViewModel 和 View。这里的重点是将翻转硬币的机制和该机制的 “界面” 分离。

    21330

    关于算法笔试,东哥又整出套路了🤔

    我就见过不少这种题目,比如题目说输入的是一个单链表,让我分组翻转链表,而且还特别强调要用递归实现,就是我们旧文 K 个一组翻转链表 的算法。嗯,如果用数组进行翻转,两分钟就写出来了,嘿嘿。...还有我们前文 扁平化嵌套列表 讲到的题目,思路很巧妙,但是在笔试中遇到时,输入是一个形如 [1,[4,[6]]] 的字符串,那直接用正则表达式把数字抽出来,就是一个扁平化的列表了…… 巧用随机数 再说一个鸡贼的技巧...C++ 也还行,但是我觉得没有 Java 好用。...简单说就是,不要把所有代码都写在 main 函数里面,我一直使用的套路是,main 函数负责接收数据,加一个 solution 函数负责统一处理数据和输出答案,然后再用诸如 backtrack 这样一个函数处理具体的算法逻辑...orders.length == 0) { System.out.println("None"); return; } // 委托 dp 函数执行具体的算法逻辑

    59220

    2013年第四届C B组蓝桥杯省赛真题

    每张票据有唯一的ID号,全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。...: 105 120 题目分析 题目代码 第八题:翻硬币(10分) 题目描述 小明正在玩一个“翻硬币”的游戏。...桌上放着排成一排的若干硬币。我们用*表示正面,用o表示反面(是小写字母,不是零),比如可能情形是**oo***oooo,如果同时翻转左边的两个硬币,则变为oooo***oooo。...现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?...例如,用户输入:100 程序输出:11 再例如,用户输入:105 程序输出:6 题目分析 题目代码 第十题:连号区间数(29分) 题目描述 小明这些天一直在思考这样一个奇怪而有趣的问题:在1

    41730

    独家 | ​PyMC3 介绍:用于概率编程的Python包

    作为一名科学家,我被训练着去相信数据,并且对所有事物都很谨慎。所以我认为贝叶斯推理是相当直观的。 但是使用贝叶斯推断在计算和概念上通常具有挑战性。完成工作经常需要大量耗时而复杂的数学计算。...即使作为数学家,我有时也觉得这些计算很乏味;特别是要快速了解待解决的问题时。 幸运的是我的导师AustinRochford最近向我介绍了一个名为PyMC3的程序包,它使我们能够进行数值贝叶斯推理。...一个具体的例子 假设我们有一枚硬币,我们将其翻转三遍,结果是: [0,1,1] 其中0表示硬币背面向上,1表示人头向上。我们有信心说这是一个公平的硬币吗?...在PyMC3中,可以通过以下代码来实现。...Trace功能确定从后验分布中抽取的样本数。最后由于该算法在开始时可能不稳定,因此在经过一定的迭代周期后,提取的样本更有用。这就是我们代码最后一行的目的。

    1.6K10

    关于算法笔试的几个套路,一点就透

    我就见过不少这种题目,比如题目说输入的是一个单链表,让我分组翻转链表,而且还特别强调要用递归实现,就是我们旧文 K 个一组翻转链表 的算法。嗯,如果用数组进行翻转,两分钟就写出来了,嘿嘿。...还有我们前文 扁平化嵌套列表 讲到的题目,思路很巧妙,但是在笔试中遇到时,输入是一个形如 [1,[4,[6]]] 的字符串,那直接用正则表达式把数字抽出来,就是一个扁平化的列表了…… 巧用随机数 再说一个鸡贼的技巧...其实这就是典型的「三门问题」。 编程语言的选择 仅从做算法题的角度来说,我个人比较建议使用 Java 作为笔试的编程语言。...C++ 也还行,但是我觉得没有 Java 好用。...orders.length == 0) { System.out.println("None"); return; } // 委托 dp 函数执行具体的算法逻辑

    27420

    想当数据科学家?敢不敢来看一下这份测评表!

    数据清洗与可视化缺失值处理列举缺失值处理的常用方法,写出对应的代码异常值检测列举异常值检测的方法特征离散化特征离散化的常用方法数据可视化变量相关性,散点图,箱线图,直方图(代码)机器学习朴素贝叶斯写出贝叶斯公式...,推导朴素贝叶斯进行文本分类的算法逻辑回归写出预测函数,logistic函数的求导,写出参数学习的迭代公式SVM原问题和对偶问题,样本量大的时候如何选取,核函数有哪些,如何处理线性不可分数据,SMO算法的原理...基本思想, RDD两种操作和各自特点,描述一个Spark程序执行的流程大文件处理100万的样本,计算某一列A的每一种取值的数量数据合并处理将两个大文件进行连接的伪代码TableA(a,b), TableB...)节点重要度算法PageRank和HITS算法最短路径单源最短路径Dijkstra, 多源最短路径Floyd-Warshall算法社区发现图上的社区发现算法图查询与索引图索引概念,图的查询操作,子图匹配软技能案例分析可以拿实际项目中遇到的挑战性问题提问面试者的解决思路...智力测验硬币翻转问题(100个硬币,10个朝上) 注:以上表格是几年前我用来面试数据分析师的表格,仅代表我个人看法,近几年的一些新技术也没有包括在内。

    31420

    2013年第四届蓝桥杯CC++B组省赛题目解析

    注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。...比如,可能情形是:**oo***oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币...注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。...注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。...注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。

    1.1K31

    AI 竞赛没有意义,模型实际不可用,冠军全凭运气?

    我希望通过这篇文章告诉你,为什么比赛并不能构建真正意义上有用的人工智能系统。 让我们开始讨论吧 ---- ? 辩论不是一件错误的事情 那么什么是医学人工智能竞赛呢?...因此,为了定义我们的术语,我们假设一个好的模型是一个可以在没有遇到过的数据上检测出脑出血情况的模型(模型对数据没有认知)。 与之相反,一个坏的模型指的是不能在未遇到的数据中检测出脑出血的模型。...事实上,如果这是硬币翻转(这个更容易计算,但不是完全不同)游戏,我们将有超过 99% 的机会出现一个或多个人会「赢」,并掷出了 8 个人头的情况!...这就是人工智能竞赛的赢家:一个在掷硬币时碰巧得到 8 个人头的人。...当我们在 ImageNet 结果中从左到右移动时,同比的改善速度会减慢(效果大小会减小),在数据集上测试的人数也会增加。

    35930

    独家 | 一文带你熟悉贝叶斯统计

    还是从抛硬币实验开始,把一个硬币翻转N次,每次出现正面时记录一个1,每次出现背面时记录一个0,这便构成了一个数据集。...这意味着,如果θ=0.5,那么没有偏差,正反面出现的概率完全均等。如果θ=1,那么硬币就永远不会出现反面。如果θ=0.75,那么如果翻转硬币的次数足够大的话,将看到大约每4次翻转中有3次出现正面。...则: 当偏差趋于零时,概率也趋于零。这是预料中的,因为我们观察到α个正面 (a≥1),所以完全偏向反面是非常不可能的。 同样,当θ接近1时,概率趋近于0,因为观察到至少有一次翻转出现了反面。...来做一个这样的实验,翻转4次硬币,观察到3个正面和1个背面。贝叶斯分析告诉我们,后验概率分布是β (3,1): ? 哎呀!不确定性太大了,看起来这种偏差在很大程度上是针对正面的。...危险:这是因为我们使用了一个错误的先验概率。在现实世界中,将偏差0.99与0.45等同起来是不合理的。

    84910

    AI 竞赛没有意义,模型实际不可用,冠军全凭运气?

    我希望通过这篇文章告诉你,为什么比赛并不能构建真正意义上有用的人工智能系统。 让我们开始讨论吧 ---- ? 辩论不是一件错误的事情 那么什么是医学人工智能竞赛呢?...因此,为了定义我们的术语,我们假设一个好的模型是一个可以在没有遇到过的数据上检测出脑出血情况的模型(模型对数据没有认知)。 与之相反,一个坏的模型指的是不能在未遇到的数据中检测出脑出血的模型。...事实上,如果这是硬币翻转(这个更容易计算,但不是完全不同)游戏,我们将有超过 99% 的机会出现一个或多个人会「赢」,并掷出了 8 个人头的情况!...这就是人工智能竞赛的赢家:一个在掷硬币时碰巧得到 8 个人头的人。...当我们在 ImageNet 结果中从左到右移动时,同比的改善速度会减慢(效果大小会减小),在数据集上测试的人数也会增加。

    49520
    领券