程序员 写作

I’ve been coding professionally for around 5 years now and I’ve continued to work on my writing for more or less the same amount of time, although in a much smaller capacity. In this time, I’ve learnt to see some key similarities between the two crafts. Despite how different the two fields seem on the surface, I truly believe that working on my writing skills continues to have a spill over effect on my how I think about code as well.

我从事专业编码已有大约5年的时间,尽管工作量要小得多,但我继续从事写作工作的时间大致相同。 这一次,我学会了看到这两种Craft.io之间的一些关键相似之处。 尽管从表面上看这两个领域有多么不同,但我确实相信,在写作技巧方面的工作仍然会继续影响我对代码的看法。

Although they sit on the opposite ends of the spectrum of how creative/technical they are, at their core, writing and programming are both fundamentally about communication — only with vastly different audiences.

尽管他们处于创造力/技术水平的相反端,但从本质上讲,写作和编程都是与沟通有关的,而仅仅是与非常不同的受众交流。

As a writer, I’ve learnt, your job is to communicate your thoughts and ideas in a way that is digestible by a broad audience. You need to lay down your arguments, or construct your story, so that it flows effortlessly from start to finish. Your writing needs to be clear and concise, without too many unnecessary deviations. The golden rule of writing, we’re told, is to keep things simple, and that less is always more.

作为一名作家,我了解到,您的工作是通过广泛的读者可以理解的方式交流您的思想和观念。 您需要放下您的论据或构建您的故事,以便故事从头到尾毫不费力地进行。 您的文字必须简洁明了,没有太多不必要的偏差。 有人告诉我们,写作的黄金法则是保持简单, 少即是多 。

Programming is quite similar, once you appreciate who your audience actually is. 9 times out of 10, your target audience isn’t a computer but rather the people reading your code. Your teammates. People who will maintain your code years down the line. And as bizarre as it sounds, maybe even your own future self. I’m frankly embarrassed by the number of times I’ve read my own code only a couple of weeks after writing it and completely failed to understand any of it.

一旦欣赏了观众的真实身份,编程就非常相似。 十分之九的受众不是计算机,而是阅读代码的人。 您的队友。 那些将您的代码维护多年的人。 听起来很奇怪,甚至可能是您自己未来的自我。 坦白地说,我在编写代码仅几周后才阅读自己的代码,却完全无法理解其中的任何内容,这让我感到尴尬。

A huge part of your job as a software developer is to write code that is easy to understand for someone with absolutely no prior context. Often, your goal is to model entities in the real world through programming concepts and architectures.

作为软件开发人员,工作的很大一部分是编写对于绝对没有先验背景的人来说易于理解的代码。 通常,您的目标是通过编程概念和体系结构为现实世界中的实体建模。

Programming languages are, after all, languages. They define a syntax and a vocabulary, just like real life languages. They give you a large set of tools to work with when building your applications. And it is your responsibility to find the best possible constructs and syntax to express your logic every step of the way. Just like you would find the right words when expressing yourself through your writing.

毕竟,编程语言是语言 。 它们定义语法和词汇,就像现实生活中的语言一样。 它们为您提供了构建应用程序时要使用的大量工具 您有责任找到最佳的结构和语法来表达您的逻辑。 就像您通过写作表达自己时会找到正确的单词一样。

Now, I’m not suggesting that you get Stephen King to write your next Super Scalable Million Dollar App. Nor am I suggesting that software developers should suddenly abandon their careers and pursue becoming a NYT bestselling author. I don’t want to minimize the importance of writing high performant code, architecting and managing complex systems, or possessing specialized technical knowledge — all of which require years, if not decades, of experience. And all of which contribute to being an effective developer.

现在,我不建议您让Stephen King编写您的下一个超级可扩展百万美元应用程序。 我也不建议软件开发人员突然放弃他们的职业,而成为纽约时报的畅销书作者。 我不想最小化编写高性能代码,架构和管理复杂系统或拥有专门技术知识的重要性,而所有这些都需要数年甚至数十年的经验。 所有这些都有助于成为一名有效的开发人员。

But I do believe that having a mental model for good code serves as a great foundation. And I believe that writing of any form helps reinforce that mental model. Especially when you’re in the weeds and writing code day in and day out. And often times, high performing code doesn't necessarily equal ugly code. There are usually ways of striking a compromise between the two. But you do have to actively strive towards it.

但我确实相信,拥有良好代码的思维模型可以为您奠定良好的基础。 而且我相信,任何形式的写作都有助于巩固这种思维模式。 特别是当您在杂草丛中并日复一日编写代码时。 通常,高性能代码不一定等于丑陋的代码。 通常 ,有两种方法可以在两者之间达成折中。 但是您必须积极地朝着它努力。

Ultimately, in order to do either of these two things well, you need to develop clarity in your thought. And that is something that sticks with you, regardless of what you do. I’ve definitely found writing to be a valuable asset for me in a lot of different ways, and I’d encourage more people to dabble with it!

最终,为了做好这两件事中的任何一项,您需要在思路上变得清晰。 是什么,与你棒,不管你做什么。 我肯定已经发现写作对我来说是一种宝贵的财富,可以通过许多不同的方式来实现,并且我鼓励更多的人涉猎它!

On a semi related note, it’s usually insights like these that make me value diversity in the workforce, especially engineering. We tend to think of engineering as a highly technical profession with little to no room for creativity. But that isn’t entirely true. Folks with creative backgrounds often bring their own unique experiences and intuition and are probably even more uniquely positioned to contribute to the product as a whole.

从半相关的角度来看,通常是这些洞察力使我珍视劳动力(尤其是工程技术)的多样性。 我们倾向于将工程学视为一项高科技行业,几乎没有创造空间。 但这并非完全正确。 具有创作背景的人们通常会带来自己独特的体验和直觉,甚至可能在为整个产品做出贡献方面处于更加独特的地位。

Unsurprisingly, my go to book recommendation for new developers (but also for programmers of any skill level, really) is Clean Code, by Robert Martin. Highly recommend you check it out.

毫不奇怪,我为新开发人员(实际上也包括任何技能水平的程序员)推荐的书是Robert Martin的Clean Code 。 强烈建议您检查一下。

翻译自: https://levelup.gitconnected.com/how-writing-more-often-can-make-you-a-better-programmer-46694d75225

程序员 写作


http://www.taodudu.cc/news/show-2293889.html

相关文章:

  • 大牛给计算机专业学生的 7 个建议
  • 软件行业进阶 书单
  • 20款电脑码字软件,网络作家实用软件珍藏,首推橙瓜码字
  • 学海无涯——人工智能应用实例之写作软件的基本概念
  • wordpress插件_适用于作家和写作的最佳WordPress插件
  • 人工智能新闻写作软件3.0时代来临
  • 大作家超级写作软件_大作家都是极度自律的人,你也可以
  • 大作家超级写作软件_3种对作家有用的Atom文本编辑器软件包
  • Pano2VR热点热区热点替换
  • pano2VR只更换全景图片
  • pano2vr.exe下载
  • Pano2VR 展示全景图
  • pano2vr输出的HTML手机可以看吗,Pano2VR怎么导出手机可看, Pano2VR导出手机查看教程...
  • pano2vr无法输出html5,教大家Pano2VR怎么输出全景图的方法
  • Pano2VR生成的HTML文件打开为黑屏
  • pano2vr导出html看不,【答疑】pano2vr6导出的全景,是空白的,打不开,? - 视频教程线上学...
  • Pano2VR制作热区激活面板
  • 利用PTGui制作全景图并用Pano2VR生成SWF文件
  • 利用Pano2VR在全景图中添加视频,音频,图片
  • Pano2VR 6 for Mac中文破解版永久激活方法附授权密钥
  • 用pano2vr创建全景图
  • unity3d利用pano2VR实现全景视图效果
  • Pano2VR制作全景图子菜单导航
  • pano2VR创建沙盘雷达设置以中心点旋转
  • pano2vr 笔记
  • pano2vr 制作交互热点模板时常显示文字
  • pano2vr怎么制作漫游_全景图如何制作?Pano2VR制作FLASH全景图图文教程(附Pano2VR下载)...
  • 使用Pano2VR实现客厅VR效果
  • pano2vr 缩略图添加场景名称
  • pano2vr怎么制作漫游_如何制作全景图?Pano2VR制作FLASH全景图教程

程序员 写作_如何经常写作可以使您成为更好的程序员相关推荐

  1. 程序员 rs编码_为什么声明性编码使您成为更好的程序员

    程序员 rs编码 在许多情况下,具有功能组成的声明式解决方案提供了优于传统命令式代码的出色代码指标. 阅读本文并了解如何使用具有功能组成的声明性代码成为一名更好的程序员. 在本文中,我们将仔细研究三个 ...

  2. 程序员吐槽_男子吐槽:35岁被裁都是低端程序员,有能力只会是一个新台阶

    男子吐槽:35岁被裁都是低端程序员,有能力只会是一个新台阶在互联网行业一直都有35岁就被裁员的说法,尤其是现在的互联网越来越年轻化,所以不少互联网员工为了将来考虑,都喜欢去体制内工作,可是35岁到底会 ...

  3. 为什么声明性编码使您成为更好的程序员

    在许多情况下,具有功能组成的声明式解决方案提供了优于传统命令式代码的优越代码度量. 阅读本文并了解如何使用具有功能组成的声明性代码成为更好的程序员. 在本文中,我们将仔细研究三个问题示例,并研究用于解 ...

  4. 什么是伪代码,它如何使你成为更好的程序员?

    努力学习编程?通过学习伪代码来掌握代码.但是什么是伪代码,它真的有帮助吗? 当你第一次开始学习编程时,在构建第一个应用程序之前,需要学习很多东西.像程序员一样思考可以帮助你将问题分解为算法来解决问题. ...

  5. 程序全局热键_如何在Linux下将全局热键绑定到WINE程序

    程序全局热键 Have you ever installed a Windows program in Linux under WINE, only to discover that it doesn ...

  6. python智能写作_闲人AI写作智能文章生成-文章伪原创-关键词生成文章工具

    闲人AI智能写作介绍(文章生成系统) 输入一个关键词,片刻即可生成一篇文章,文章相关性较好,生成内容相关性.可读性均较好.行业性(专业性)极强勿用!!! 适用人群:SEO从业者.自媒体.网络公司.需要 ...

  7. 新闻软文写作_软文写作网_产品软文写作_活动软文写作|Giiso智搜

    智搜(Giiso)信息成立于2013年是中国领先的"人工智能+资讯"领域的国家级高新技术企业,其自主研发的写作机器人,编辑机器人是可以从各个行业领域快速编辑写稿的人工智能机器人. ...

  8. 营销软文写作_软文营销写作_软文写作服务_智能写作服务商|Giiso智搜

    智搜(Giiso)信息成立于2013年是中国领先的"人工智能+资讯"领域的国家级高新技术企业,其自主研发的写作机器人,编辑机器人是可以从各个行业领域快速编辑写稿的人工智能机器人. ...

  9. 程序代码初学者_初学者:如何使用热键在Windows中启动任何程序

    程序代码初学者 Assigning shortcut keys to launch programs in Windows is probably one of the oldest geek tri ...

  10. 系统在此应用程序堆栈溢出_从部署我的第一个完整堆栈Web应用程序中学到的经验教训...

    系统在此应用程序堆栈溢出 by Will Abramson 威尔·艾布拉姆森(Will Abramson) 从部署我的第一个完整堆栈Web应用程序中学到的经验教训 (Lessons learned f ...

最新文章

  1. DNS自述:我是如何为域名找到家的
  2. 关于无法修改CheckBox样式的解决方案
  3. XSuperTooltip - Office 2007 Super Tooltip class
  4. 指令发送没反应_如何判断网络故障的原因?7个指令,教你逐步排查!
  5. Eureka控制台下unavailable-replicas怎么解决?
  6. ios oc数组转换为c语言数组,iOS中将数组作为参数传递给服务器
  7. tr69 GatewayInfo 节点添加
  8. css3 flex 布局
  9. 初识react(二) 实现一个简版的html+redux.js的demo
  10. 百度google关键字优化的小技巧
  11. 11.1.1 认识StringBuffer类(1)
  12. C# 使用List泛型读取和保存文本文件(转载)
  13. harmonyOS的架构图,HarmonyOS通用设计基础---应用架构
  14. php中如何加密,PHP中的加密功能
  15. 动态规划——最大整除子集C++
  16. 【手写字母识别】基于matlab GUI模板匹配手写大写字母识别【含Matlab源码 115期】
  17. 软件测试的测试方法及测试流程
  18. 基于BERT实现简单的情感分类任务
  19. Android性能优化之页面优化
  20. English语法_人称代词 - It

热门文章

  1. SOLIDWORKS软件转Dwg格式教程
  2. 1人30天44587行代码,分享舍得网开发经验
  3. shell 脚本实战 四
  4. SL400装WIN7后声音键无法使用的解决方法
  5. windowsXP消灭蓝屏的另类招式
  6. VMware Fusion for Apple silicon
  7. 【湖南集训 4.2】正12面体
  8. 网络安全技术复习资料
  9. 常用的三种机器学习预测方法
  10. MOEA/D原理及pyton实现