Questions tagged «leadership»

5
我是否也“聪明”,无法被小开发人员阅读?我的JS中的函数式编程过多?[关闭]
我是一名高级前端开发人员,使用Babel ES6进行编码。我们的应用程序的一部分进行了API调用,根据我们从API调用获得的数据模型,需要填写某些表格。 这些表格存储在一个双向链接的列表中(如果后端说某些数据无效,我们可以通过简单地修改清单。) 无论如何,有很多用于添加页面的函数,我想知道我是否太聪明了。这只是一个基本概述-实际的算法要复杂得多,有大量不同的页面和页面类型,但这将为您提供示例。 我认为,这是新手程序员处理该问题的方式。 export const addPages = (apiData) => { let pagesList = new PagesList(); if(apiData.pages.foo){ pagesList.add('foo', apiData.pages.foo){ } if (apiData.pages.arrayOfBars){ let bars = apiData.pages.arrayOfBars; bars.forEach((bar) => { pagesList.add(bar.name, bar.data); }) } if (apiData.pages.customBazes) { let bazes = apiData.pages.customBazes; bazes.forEach((baz) => { pagesList.add(customBazParser(baz)); }) } return pagesList; } …

7
对等/代码审查失败
我不会称自己为超级巨星开发者,而是相对经验丰富的开发者。我试图将代码质量保持在较高水平,并且一​​直在寻求对我的编码样式的改进,试图使代码高效,可读性和一致性,并鼓励团队遵循一种模式和方法来确保一致性。我也了解在质量和速度之间取得平衡的必要性。 为了实现这一目标,我向我的团队介绍了同行评审的概念。在github pull-request中两个竖起大拇指以进行合并。很好-但是我认为没有打cc。 我经常看到来自相同同事的同行评论,例如- 在之后添加一个空格会很好 <INSERT SOMETHING HERE> 方法之间多余的多余线条 在文档块中的注释末尾应使用句号。 现在,从我的角度来看-审阅者只是从表面上看待代码美观性-并没有真正执行代码审阅。化妆品规范审查以傲慢/精明的心态传给我。它缺乏实质性内容,但是您不能对此进行过多辩论,因为审阅者在技术上是正确的。我宁愿看到较少的上述评论,而更多评论如下: 您可以通过以下方式降低圈复杂度: 提早离开,避免如果/其他 将数据库查询抽象到存储库 这种逻辑并不真正属于这里 不要重复自己-抽象和重复使用 如果X将其作为方法的参数传递将会怎样Y? 单元测试在哪里? 我发现提供修饰类型评论的总是同一类型的人,而我认为给出“基于质量和逻辑”的同行评论总是相同类型的人。 什么是同行评审的正确方法(如果有)。我是否对同一个人感到沮丧,因为他们基本上都是在浏览代码以寻找拼写错误和美学缺陷而不是实际的代码缺陷? 如果我是正确的-我将如何鼓励同事在建议进行外观修饰的同时找到代码中的错误呢? 如果我不正确-请赐教。对于真正构成良好的代码审查,是否有任何经验法则?我是否错过了什么代码审查的要点? 在我看来,代码审查与代码的共同责任有关。如果不解决/检查逻辑,可读性和功能性,我会不愿意给代码竖起大拇指。如果我发现有人在文档块中省略了句号,那么我也不会为可靠的代码块而阻塞合并。 当我检查代码时,每500 Loc可能花费15-45分钟。我无法想象这些简短的评论要花超过10分钟的时间,如果那是他们正在执行的评论的深度。此外,浅薄评论者的赞许是多少?当然,这意味着所有人的拇指都不一样,并且可能需要进行两遍审核。一个拇指要进行深度评价,第二个拇指要进行“抛光”?

2
如何创建将修复测试视为优先事项的环境?
我是一家中型公司的软件工程师。我们在TeamCity上运行着一个相当强大的测试平台。它会在每次签入时进行单元测试,并每天运行单元测试/ BVT。 问题是-我们有很多损坏的单元测试。 通常,如果单元测试经常中断且无法维护,我会提出毫无意义的建议。无法查看更改是否引起了回归,从而消除了单元测试平台的大部分价值。 我想种下一种会养成良好习惯文化的种子-破坏测试时将其修复,将其视为有价值的东西,将测试的固定与其他工作一起放在优先位置。 我已经尝试过贿赂(烘焙食品!),只是简单地询问,并与团队负责人交谈。每个人都说这是一个好主意,但我认为这是唯一对此做任何事情的人。 鼓励他人修复测试并在冲刺中优先考虑修复的最佳方法是什么? 如果有比较主观的方式提出这个问题,我很乐意接受任何提示。

8
Scrum团队不遵循YAGNI原则
在SCRUM会议上,产品团队讨论了移动应用程序将使用的API功能。我们进行了一次模拟,显示了屏幕的外观以及屏幕应包含的关键元素(“布局”)。 基于此以及与产品所有者的讨论,我创建了API响应(HAL + JSON)的原型。这是非常简单的,符合HAL规范的JSON,仅能代表模型中的内容而已。我没有受到商人所预见的未来想法的影响,因为他们倾向于经常改变他们的想法,因此我决定采用简约的方法。我的提议被团队拒绝,而我的提议以7比1胜负。 团队决定使用更复杂的,非语义的抽象json结构,该结构允许在布局布局中提供更大的灵活性。这种方法的缺点是我们最终得到了一组统一的对象,这些对象在设计上可能具有null和empty属性。他们还认为最好进行A / B测试,但这只是基于他们的预测,因为我们没有这样的要求。 大多数时候,我们都在争论那些不是冲刺的一部分,也不是在样机上提到的东西。所描述的问题是“未来的市场营销将如何……”,“企业可能希望我们...如何”。 我和产品负责人都是经验丰富的程序员,我们过去已经看到过这类问题。我们尝试遵循YAGNI和KISS原则。团队的其他成员经验不足,尽管他们了解这些原则,但似乎并不了解它们。 我们同意他们的解决方案,因为整个团队对我们来说更重要,我们不想为那些不那么重要的事情而战。但是我担心这样的事情是否会成为即将来临的,更复杂的辩论的先例?如何应对这种行为?作为团队负责人,我有什么可以做得更好的? 值得一提的是,该产品是早期MVP。

10
领导团队,我太霸道了吗?
我处于一个非常奇怪的位置。我是特定项目的“团队负责人”,职位是高级软件工程师。在我的团队中,我有4个开发人员,其中一个在另一个项目中担任类似的角色,但是现在我的工作已被优先考虑,因此他正在研究我的工作。我也有2位测试员,其中一位是经理。团队的另一个成员是“客户代表”,他是一个完全无关的部门的一部分。我还有一个直接位于我上方的经理,而且我相信也是位于团队中的测试经理的上方...虽然对此不太确定。 我试图弄清为什么我的角色正好是几次。对于我来说,即使我有权力,也很难弄清楚我的权威在哪里开始和结束。我目前正在使用的答案是,我是团队的“技术主管”。这似乎意味着我的权限超过了与产品代码本身相关的,与体系结构,设计和过程/编码标准有关的技术决策。 今天,出现了一些问题,我将代码结果委托给团队中的一位成员,并在我们的Scrum全面展示会议上向公司的其他成员展示了这些结果。客户代表人进行炫耀。今天展示了一些我真的不同意的东西,甚至没人问我是否想对发生的事情发表意见。简而言之,为了提供用户以下列方式在报告中显示值的能力(“ doc”单位,设计单位(四舍五入而不是四舍五入)),他们为每个排列提供了访问字段。因此,我们具有舍入文档单位,舍入设计单位,未舍入文档单位,未舍入设计单位的价值。用户希望使用的每个记录都有许多这样的值,并且每个记录都以这种方式排列。 我真的很讨厌这个 向我们展示这些内容的人想要确保我们用于报表的API与我们执行诸如将数据导出到Excel之类的方式相同。不幸的是,现在我们正朝着我认为非常非常糟糕的方向发展。 在下一次会议上,我确实有点不高兴,我问做这件事的两个人,“我为什么不参与这个决定?” 这是一个不断出现的问题,我很难过,似乎只是让我领导的团队成员问我是否要参与其中。有时我不会,我认为他们想出的办法都会很好。有时候我会。除非人们问我,尽管很难知道正在发生的事情需要我的投入,而他们却没有给我机会。 不幸的是,我的权限并没有告诉别人:“下次您离开并且自己做这样的事情而没有与我交谈时,您将受到纪律处分。” 那是一个“公关”问题,这显然不在我的权限范围之内。实际上,这对我很好,因为如果有人愿意,我不想面对这种垃圾。 但是今天,我的经理在所有人面前(我想这也是我提出这样的错误的部分原因)告诉我,我不能参与所有决定,而需要委托。 我当然认为我是对的。我不是说我认为是BS。我认为应该就此问题与我联系,并询问我是否有更好的主意。我的方向实际上是决定现在提供一个值,因为这实际上是新功能的最开始阶段,并讨论在将来需要时提供进一步访问的选项。我永远不会批准或推荐当前的实现方式,而且我真的认为它不应该成为现实。 问题是,我是一个不合理的人吗? 好吧,我们两个人讨论了这个问题,并同意我们俩都“丢球”,而且我们似乎在同一页上。星期一早上...我们将尝试确保我在团队中的角色清楚,是的,我要决定何时需要进行设计或任务更改。我被提议同意或者决定我需要更深入地研究。然后,我可以尝试其他一些工作,以确保他们知道可以来找我。

5
领导者看不到标准流程对机器配置和新开发人员定位的价值
大约3个月前,我们的主要Web开发人员和设计师(同一个人)离开了公司,绿色的牧场是他们离开的原因。我说对他们有好处。我的问题是他的部门完全没有文件记录。自从离开领导者以来,事情一直很艰难。我们引用了很多新知识,包括用来引用新项目的理论知识,以及由于他的离开而失去的现有产品的技术/实施知识。我通常的角色是担任产品经理(针对我们产品本身)以及担任某些基于项目的咨询工作的业务分析师。在过去的一年中,我自学了编码,为了继续前进,我 我已经完成了将笔记本电脑设置为开发机器的任务,希望能够实现一些更简单的功能请求并修复提交到我们的票务系统中的一些毫无疑问的错误。但是,没有人知道如何购买一台新的Windows计算机并将其配置为与我们的生产应用程序无缝配合。 我已经要求我的老板(仍与离开的开发人员保持联系),请他们记录并创建新开发人员的安装流程,软件安装,所需的软件包,部署到生产应用程序服务器的流程等。它的存在,而我正在努力使计算机成为功能开发机器。但是她似乎并不了解存在这样一个过程的必要性。显然,替换离开的那个新开发人员一直在使用针对我们的环境预先配置的计算机,因此如果我们添加其他开发人员,那么即使是新开发人员也无法设置新计算机。 我的问题分为两个部分: 我是否应该假设应该存在一个将我们的开发生态系统纳入其中并进行配置和配置新计算机的过程? 我是一个wh脚的婴儿,我应该自己弄清楚这个过程并创建一个文档吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.