重用

到底什么才是软件开发效率高

独自空忆成欢 提交于 2020-10-29 05:04:29
写给没有意识到这点的自己和他人,或许看着简单,但未必就做到了。 到底什么才是编程效率高? 眼前有一个项目或者产品要做,招一大堆人来风风火火的堆代码,然后很快完成,这是效率高吗? 或者,招的都是技术娴熟的程序员,写代码效率高,遇到问题解决快,新技术上手快,然后技术娴熟的程序员大家一起堆代码,这似乎比前一种情况好,效率高,但这是真的效率高吗?一组编程人员,技术娴熟能到什么程度,就拿打字速度来说,没有提高的前路。所以,这个不是提高效率的方向。 真正的高效率在于 重用 第一,时间上的代码重用,也就是,今天写的东西,明天,后天,以后能够重复不停的使用,这段代码的编写工作就真正做到了高效率。 第二,空间上的 代码 重用,也就是,当前时间,其实就是当前编程工作中,代码互相之间的重用,有10个程序员共同完成一个50个功能的系统,堆代码,每人要做5个功能,如果系统设计,编码设计将重复的功能抽离出来50个功能可能会缩减为30个功能,每个程序员只需要完成3个功能,这才是提高了效率。 所以,程序开发的重点内容是系统设计和程序设计,程序员的技术能力,是程序开发的基础,就如同写文章一样,识汉字是基础,字都不识,怎么写文章?而只有基础不够,写好文章更重要是有好的构思。 程序员同志们,不要再堆代码了,如果你现在做的事情还是你曾经做过的,那就别做了,停下来,好好想想为什么之前做过的东西没能写的更好些

TODO:Golang语言TCP/UDP协议重用地址端口

微笑、不失礼 提交于 2019-12-10 14:11:09
TODO:Golang语言TCP/UDP协议重用地址端口 这是一个简单的包来解决重用地址的问题。 go net包(据我所知)不允许设置套接字选项。 这在尝试进行TCP NAT时尤其成问题,其需要在同一TCP端口上进行侦听和拨号的过程。 这个包使我有可能实现这个功能。 这是一个非常小众的用例,但也许这个软件包可以随着时间的推移变得更普遍。 此包允许从同一TCP端口侦听和拨号;不能使用同一UDP端口监听,但可以监听同一UDP端口。 这意味着设置了以下sockopts: syscall.SO_REUSEADDR syscall.SO_REUSEPORT 例子: // listen on the same port. l1, _ := reuse.Listen(“tcp”, “127.0.0.1:1234”) l2, _ := reuse.Listen(“tcp”, “127.0.0.1:1234”) // dial from the same port. l1, _ := reuse.Listen(“tcp”, “127.0.0.1:1234”) l2, _ := reuse.Listen(“tcp”, “127.0.0.1:1235”) c1, _ := reuse.Dial(“tcp”, “127.0.0.1:1234”, “127.0.0.1:1235”) c2, _ :=