nofeel编程思考-引言

作为一个程序员已经不少时间了,在工作开发、业余编程、学习、阅读代码、与别人讨论等等过程中,慢慢也形成了一些个人的思考观点。这些观点潜伏在与同事的对话中,工作的邮件交流中,我常常有要写下来的冲动,但是又感觉只是些零碎想法,形成不了有篇幅的内容,加之个人并不爱好写作,所以一直未付诸行动。

 

大约一年前某日偶然读到了精彩博文“书写是为了更好的思考”后,深感应该找时间梳理自己的观点形成文字,虽然不成系统,相信还是有胜于无,也是对自己编程生涯的进一步反思。

 

另一个促进我动手的原因是,我在工作中注意到一个现象,在寻找编程时问题的答案时:眼睛>耳朵。就是,相对于口头的交流,人们似乎更容易接受或相信眼睛看到的文字表达的观点、结论,即使同样缺乏分析过程。当然我不是在说正式的书本,而是网上的各种文章和帖子。我不止一次碰到过,周围的同事在口头交流时很具备怀疑精神,而偶然在网上看到了别人写的某段话,会自然的接受并引用来作为争论依据或行动指导。他们会说“网上有人说了,。。。。这样的。。。 ”,即使他们往往并不知道作者的真实身份、经历、专业背景、擅长领域等。

 

我记得一个例子是很久前一位同事告诉我.NET中判断string为空时最好用s.Length == 0 来判断,不要用string.IsNullOrEmpty(s)的方式,后者性能会差非常多,当然这个结论是他在网上看到有人说的。我当时并没有在意,因为即使确实是这样,我认为这个东西性能差异造成的负担在实际程序运行中也几乎不大可能有机会表现出来。直到后来的一天,不知为什么想起这个,于是随手用Reflector看了下string.IsNullOrEmpty(s)的代码,再简单不过,就是判断s是否为null及s.Length是否为0。我相信Release模式下当CLR对这样的函数用inline去除函数调用的开销后,完全没有什么理由会比自己直接检查Length为0慢很多倍。看到这里也许你会想这样简单的事稍加调研不就清楚了吗,这个程序员是不是能力很差呀。可是恰恰相反,他是能力非常强的开发人员,相比大部分同龄的毕业两三年的人优秀的多。

 

其实对这种情况一方面我不觉得奇怪,不可能事事都去花时间深入研究,即使像例子中提到的这种问题,只要数量多了,大部分总是要找现成的答案而不是自己动手。另一方面,我感到有趣的是读到的文字比听到的话语要强大,往往即使听到一个答案,也不放心,要去网上求个验证,反之不然。对此我归结为一种人的心理效应,似乎对越是熟悉了解的人,大家越不会轻易相信或深入思考其观点。

 

所以,我想如果我的观点变成文字,是不是更容易被说服别人呢?动笔(动手?)的另一好处是集中火力,要把想法变成思绪清晰的文字,达到说服别人的目的,颇不容易。而口头争论倾向于随意化,经常说着说着变成争论另一件事了。

相关推荐
<p> 课程演示环境:Windows10  </p> <p> 需要学习<span>Ubuntus</span>系统<span>YOLOv4-tiny</span>的同学请前往《<span>YOLOv4-tiny</span>目标检测实战:训练自己的数据集》 <span></span> </p> <p> <span> </span> </p> <p> <span style="color:#E53333;">YOLOv4-tiny</span><span style="color:#E53333;">来了!速度大幅提升!</span><span></span> </p> <p> <span> </span> </p> <p> <span>YOLOv4-tiny</span>在<span>COCO</span>上的性能可达到:<span>40.2% AP50, 371 FPS (GTX 1080 Ti)</span>。相较于<span>YOLOv3-tiny</span>,<span>AP</span>和<span>FPS</span>的性能有巨大提升。并且,<span>YOLOv4-tiny</span>的权重文件只有<span>23MB</span>,适合在移动端、嵌入式设备、边缘计算设备上部署。<span></span> </p> <p> <span> </span> </p> <p> 本课程将手把手地教大家使用<span>labelImg</span>标注和使用<span>YOLOv4-tiny</span>训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。<span></span> </p> <p> <span> </span> </p> <p> 本课程的<span>YOLOv4-tiny</span>使用<span>AlexAB/darknet</span>,在<span>Windows10</span>系统上做项目演示。包括:<span>YOLOv4-tiny</span>的网络结构、安装<span>YOLOv4-tiny</span>、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计<span>(mAP</span>计算<span>)</span>和先验框聚类分析。 <span> </span> </p> <p> <span> </span> </p> <p> 除本课程《<span>Windows</span>版<span>YOLOv4-tiny</span>目标检测实战:训练自己的数据集》外,本人推出了有关<span>YOLOv4</span>目标检测的系列课程。请持续关注该系列的其它视频课程,包括:<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:训练自己的数据集》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:人脸口罩佩戴识别》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:中国交通标志识别》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测:原理与源码解析》<span></span> </p> <p> <span> <img alt="" src="https://img-bss.csdnimg.cn/202007061503586145.jpg" /></span> </p> <p> <span><img alt="" src="https://img-bss.csdnimg.cn/202007061504169339.jpg" /><br /> </span> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页