如何学习一门新编程语言  [draft]

概括了解  首先在学习一门新的编程语言之前,需要对语言进行一个整体的了解。该语言与其他编程语言相比有什么特别之处。 在了解语言的同时也是一个确立边界的过程,每个语言都有自身的优势与劣势。我们只有清楚的了解各个语言的特性,才可以在技术选型的过程中更有把握选择更为合适的语言推进项目的进行。 了解了语言边界之后,需要做的就是了解一下语言层面一些常见的问题。这样能够在开发前避免一些常见的坑,也能在一些问题出现后,能够更好的把握问题的出现原因。 通过上面方法,基本上就可以完成对一个新编程语言的了解,以及常见的一些开发问题,也可以在后续的选型和开发中做到了然于胸。 熟悉语法 语法学习有两种方式: 文档学习(信息获取快,一般适合经验比较丰富的老手) 视频学习(更为直观,更适合新手) 两种方式各有优劣,选择更适合自己的方式就好。语法学习的过程中最重要的就是去敲代码,仅仅看是不够的,动手去敲出学习的代码,是高效掌握语法的关键。 熟悉规范 学习规范 规范在编程开发中是十分重要的,在写代码之前一定要了解语言的开发规范。一个良好的编程规范,是优雅开发的开始,也是团队合作的基石。如果一个团队每个人都有自己的开发风格,可想而知后续的项目维护将会是怎样的噩梦。 规范学习不需要一开始就对规范有很深入的了解,只需要有一个大概的了解即可,后续如果在开发中遇到疑惑,可以再去查找相关规范。对规范的应用应该像查字典,你不需要会背诵,但是你要知道去查找。 最佳实践 我之所以比别人看得远一些,是因为我站在巨人的肩膀上 学习最佳实践。每个编程语言都会有一些最佳实践(best practices)。这些最佳实践(best practices)是行业开发人员在进行大量开发验证和思考后做出的总结。并且最佳实践(best practices)也是在迭代的,社区会在前人的最佳实践的基础上,加上自己的一些总结,因此最佳实践(best practices)一般质量都非常的高。 最佳实践(best practices)的学习中,需要不断的思考和辩证,要做到知其然知其所以然。只有这样你才能够在最佳实践(best practices)的基础上梳理出自己的最佳实践,更好的服务后续的项目开发。 最佳实践(best practices)可以让你快速的梳理出一套项目架构,也能让你快速的写出非常高质的代码。 总结 学会一门编程语言,不仅仅是会语法,会开发就可以了。还需要了解语法和最佳实践(best practices),只有这样才能开发出高质的代码,也能在开发的过程中减少一些问题的出现。 在生活中也经常能够遇到两种人: 一种是:我学习完基础的语法,能开发出来功能就可以了,不在乎架构的合理性和编程规范。 另一种则是:学习完基础语法,能开发的基础上,去了解规范,学习最佳实践,不断思考和验证的人。 其实两种思想恰好也是对应的「短期主义」与「长期主义」。短期看两种思想看不出差距,在长期看,两种思想的发展是天差地别的。

June 10, 2022 · 1 min · 云溪

管理是可以一招鲜,吃遍天吗?  [draft]

点进来看的小伙伴是否也想寻求管理中的银弹,期待能学到一招独门绝技,从此独步江湖。 实际上管理与开发一样的,也是不存在银弹的,管理是一个系统性问题,任何的系统性问题都不可能通过引入一个概念或一个制度来解决问题。 那管理还有办法能精进吗?那肯定还是有的,既然是要解决系统性问题,那就需要一个系统的制度去解决问题。 建立共识,打破信息壁垒 建立共识的极致就是将一个团队打造成一个具象的人,整个团队像一个人一样思考。 团队协作中,最大的成本就是沟通成本。每增加一个人,都会增加一份沟通成本。当整个团队像一个人的时候,也就意味着沟通成本趋近于 0 。 就像你左手递过一只笔,右手很自然的接过笔,整个过程不需要进行任何的沟通与思考。上面的例子是有些极限的,但是可以用这个衡量标准作为不断优化团队共识的目标。 制定规范 当团队有了共同的想法和相同的目标,我们还需要制定相应的规范。 拿行军打仗作比喻,共识当然就是打胜仗,规范则是为了打胜仗而锻炼出的战术配合与作战计划。 制定规范的目的就是为了让团队成员做出的成果能够保持在一定的水平,不会因为个体能力的差异而导致做出的成果参差不齐。 当制定了规范后,从外部看整个团队就会觉得团队是一个整体,有组织有纪律,而不是散兵游勇,毫无章法。 建立流程 在团队协作过程中,两个环节对接时经常会产生各种各样的问题,为了解决对接中存在的问题,不得不花费大量的时间进行沟通和调整,才能使工作顺利的推进下去。 建立流程就是为了解决这类问题,为每个工作交接的环节制定相应的标准,对接双方都按照标准进行准备,这样在对接的过程中会减少很多因流程缺失带来的沟通和重复劳动成本的增加。 提升团队凝聚力 在数学概念中 1 +1 =2 是我们在基础数学中就明白的等式,但是在团队协作中却未必成立,有的时候会出现 1 +1 < 2 和 1 + 1 > 2 的效果。 我们在团队协作中是追求 1 + 1 > 2 的效果的,最差我们也想要得到 1 + 1 =2 的结果,最不想的就是 1 + 1 < 2 的情况,如何做到呢? 秘诀在于提升团队凝聚力,将团队的力量集中起来,利出于一孔,在需要释放的地方集中释放。 Summary 团队管理除了上面说的几个环节还会涉及到其他很多方面。这里只是抛砖引玉,更多的需要我们在不断的探索中总结和提炼。 做事情应该先从思想层面去解决问题,然后用思想去指导行动,通过行动解决遇到的种种问题。很多时候思想的高度直接决定你处理问题的能力大小。每种思想都有它的上限和下限,同一水平思想下,难以拉出数量级上的差距。只有将思想进行提升,才有可能迸发出越级输出的能力。 管理是一个求道的过程,初入管理的时候经常痴迷于追求术,想知道究竟有什么具体的招法来帮助自己度过初入管理的困境,而结果却是:有多努力就有多绝望。当有了管理是求道的认识后,便觉豁然开朗,从困境中解脱出来,从而触碰到管理的门径。 有句话想与君共勉:有道无术,术尚可求也,有术无道,止于术。愿你我一样,能早日找到自己的管理之道。

October 22, 2021 · 1 min · 云溪