「 代码 」对于我来说,如同「 设计 」一样,都是为了「 创造 」 出某种产品的一种手段。 作为设计师,与开发打交道,难免会有种 ” 巧妇难为无米之炊 “ 的感觉; 而程序员,当自己开发了某个工具之后,为了追求更好的体验,苦于不懂「 设计 」,也很难更上一层楼。 写代码重要吗? “代码只服雷军”,雷军在小米之前,做了10年程序员。 据网友爆料,京东刘强东在一次讲座上,称自己大三(1995年)的时候,他给别人写代码,一个晚上就能赚5万。 设计师应该会写代码吗? 设计工具的演进,从Sketch 、 Pixate, 再到 Framer,设计师的工具,越来越简单有效地通过原型表现创意。 设计工具引入代码 Framer是一款结合代码与可视化实现的交互设计工具,因为通过代码,可以完全控制交互效果,设计师不仅停留在画图的层面,更多的可以关注到实现的真实效果。 写代码难吗? 一位朋友,在咨询了我一阵子后,开始学习 Python ,但是在坚持了2个月的时候,他逐渐减少学习时间,并最终放弃了。因为,他觉得代码要学习的知识太庞大了,不知如何入手,一旦有新问题解决不了学习进度就卡在那里,从而越学越觉得难。 知识量庞大,问题不断 其实写代码,入门并不难 因为还有积木式编程语言:Scratch 不管是成年人,还是青少年,通过Scratch可以快速得掌握编程的核心思想。但核心思想是什么?往往被许多人所忽略。 学习编程,应该掌握其运行的逻辑,试试回答以下几个问题: 1 我们是如何通过一个个的指令给计算机安排任务的? 2 计算机如何按照我们设定的条件,执行任务? 3 计算机是如何执行重复执行任务的? 4 计算机完成任务的时候,是如何反馈给我们的? 代码最难的是逻辑 引一位Oracle程序员在Hacker News上吐槽自己的工作的讨论。这个工程师的核心痛点是,Oracle经历长期的产品线迭代,代码异常庞大、逻辑复杂。每新增一个特性或者修复BUG,该工程师都需要大量的调试,小心谨慎的进行着日常的工作。而Oracle每次的版本发布都经历数百万次的测试,工作量可想而知。 学习代码也是有方法 一般的初学者是这2类: 零基础,指的是对代码一点了解,或者曾经看过一点点,没有系统了解过编程语言的。 入门级,会一门编程语言,会写一点点代码,但是无法自己完成一个项目从0到1构建的。 以下是给初学者如何学习代码的指南。 01 最小项目实践+系统地刻意练习 如果是零基础,建议先学一门语言,一步步来,按章节进行,同时,适当增加实践项目的练习,比如DIY一个以图搜图引擎等类似的项目。 当你学完这一阶段的入门,不再是0基础之后,就可以尝试了解各种语言的环境安装、最小可运行代码集,以及各种开发工具,尝试各种好玩、复杂的项目了~ 02 最小可运行的代码集 主要通过看示例,包括作者提供的示例代码,网上文章提供的示例代码等;举一个turicreate的以图搜图代码示例: 03 理解功能 get到思想就好,理解代码里的每一句的含义,真实的行为,就跟读书一样,知道作者的核心思想是什么; 比如下面这3句,第1句是初始化一个类,该类可以提取图片的特征向量,第2句是通过文件路径打开图片,第3句是从图片提取特征向量。 04 关注输入、输出的数据结构 输入的是字符串,还是一个列表,还是一个字典?输出的是什么也非常重要,比如输出的时候,有None的可能,那下一段代码对此输出结果引用的时候,就要注意啦。 如果输入_idea为"",输出为None,这个时候写代码的时候就要留意输入跟输出的各种可能。 05 即搜即用 当你掌握以上技巧的时候,就会发现没必要从头到尾全部一口气把代码全部学完,需要的时候再快速翻阅文档,通过示例、输入输出、理解功能这三个点,就可以现学现用啦。 06 优雅的代码 对于初学者来说,需要关注如何书写优雅的代码,主要表现在: 代码所在位置恰当; 有适当的注释; 适当的缩进和空行; 以及没有重复代码…… 这里面的内功修养,离不开设计模式和代码重构,还要有非常多的实践与刻意练习。这几本书都可以抽空读一读: 《Head First设计模式》 《重构》 《Clean Code》 以上为全文。 写代码是基本功,锻炼的是逻辑思维能力,跟解决问题的能力。 在不久的未来,写代码也是可以机器完成的,不知大家关注过这项研究吗? pix2code 等论文提出了一个强大的前端代码生成模型,解释了如何利用 LSTM 与 CNN 将设计原型转化为 HTML 和 CSS 网站。 人工智能写代码,未来可期; 学习代码,我们应该更多地关注背后的逻辑思维能力。 欢迎在MixLab讨论相关内容、技术实现, MixLab是一所面向未来的实验室 |
|
来自: Mixlab交叉学科 > 《待分类》