首页 文章 精选 留言 我的

精选列表

搜索[x265编码],共10000篇文章
优秀的个人博客,低调大师

3 个技巧,让你像技术专家一样解决编码问题

「我应该如何提高解决问题的能力?尽管我掌握了 JavaScript,却无法解决实际问题或理解复杂的 JavaScript 代码。」 经常有年轻的开发者朋友问我类似的问题。对开发者来说,解决问题非常重要。编写优秀的代码是一门创造性的艺术,而要成为出色的开发者,就必须成为富有创造力的能够解决问题的人。 我发现新手程序员犯的最大的错误是专注于学习语法,而不是学习如何解决问题。—— V. Anton Spraul 尽管我观察到,解决问题的技能需要时间和经验的积累,但我坚信掌握它并不需要很多年;只要勇敢地直面问题,就会有所提高。我曾与许多初级开发人员一起工作,年轻人们也比他们的老伙计更善于解决问题。 本文将详细讲解三个技巧,让开发者可以像技术专家一样解决问题。重头戏开始之前,我们先来看看技术专家和技术小白在解决问题方面有哪些不同。 01 专家思维 vs 新手思维 大多数人会回避或胡乱处理问题。优秀的思考者和领导者则会主动寻找问题,他们也拥有能够更好地解决问题的方法。—— Michael Simmons Robert J. Sternberg 教授根据美国心理学家 Herbert A. Simon、Robert Glaser 和 Micheline Chi 等人的研究,揭示了技术专家解决问题比技术小白更有效的秘密。 Arnaud Chevallier 在 Work forward in solving problems, not backward 一文中犀利写道,「逆向工作法是一种从假设出发的方法。如果想要提高利润率,逆向工作法会指引你去寻找增加收入的办法,因为增加收入可以带来更高的利润率。那减少成本呢?难道在确定最终的解决方案之前,我们不应该先全面地了解各种可以实现目标的办法吗?」 可以看到,技术专家通常会花大量的时间寻找、明确和定义问题,并且使用正向工作法解决问题,同时密切关注问题解决的过程。下面就跟大家分享,技术专家们常用的问题解决技巧。 02 三个专家级的问题解决技巧 1. 问题十二连 The 12 What Elses 提问题听上去没什么难度,但要找到正确的、缺失的问题并准确地描述出来却不容易。Lenedra J. Carroll 介绍的「问题十二连 The 12 What Elses」可以有效帮助我们摆脱这个苦恼。 在头脑风暴时,先提出一个问题,并生成 12 个答案;然后选取其中一个答案转化为下一个问题,再生成 12 个答案。不断重复此过程,直到获得一个明确的解决方案。 通过连续地提问,我们会得到一个「问题回答地图」,它对假设的测试和结构化解决复杂问题很有帮助。 提问和追问是如何将我们往正确方向上引导的?下面两个例子可能会给你答案。 2. 根本原因分析法 Root Cause Analysis 我们经常在多次解决失败后,才发现问题的情况跟预期有所不同,所以在开始解决问题之前,就要先了解其根本原因是什么。 只有消除错误的选择,才能更好地定义问题并找到有效的解决方案。根本原因分析法有助于避免在错误的方向上浪费时间和精力。 当需要修复 Bug 时,开发者可以使用以下任意方式,进行根本原因分析: 确定问题在哪个环境出现,并尝试在相同和不同的环境中重现它,以掌握更好的理解。 如果与 Web 性能有关,可以分析捆绑文件。 进行单元测试和集成测试。 进行日志文件分析。 进行交互式调试。 3. 使用多元思维 Spectrum Thinking 二元思维认为事情的状态是非黑即白的,只有互相对立的两种可能。有些时候它是正确的,但其他时候,它可能是一种错误的简化。 与二元思维对应的是多元思维,也可以称作频谱思维(Spectrum Thinking)。它会考虑更多选择、更多替代方案和可能性,比如「两者共存」「介于两者之间」「其他的可能性」或「二者皆否」等。 通过培养多元思维,开发者可以有效提升创造力;你会惊讶地发现,修复 Bug、解决冲突、设计/执行客户需求的实现方案等居然会有这么多种解决方案和方式。 以展示信息详情为例,二元思维认为,信息详情要么通过弹窗展示,要么跳转到一个带返回箭头的新页面进行展示。 多元思维认为还有其他可能性,比如新增 Tab 页直接查看和更新信息,无需关闭当前列表页面。 多元思维还可能认为,可以提供一个支持三种布局的动态模板,让用户自主选择要用以上哪种方式。 二元思维和多元思维各有利弊,在实际工作中可以配合使用。 写在最后 解决问题能力是一个超出软件开发范畴的话题,它高度取决于我们的心态和态度。要想培养和提高解决(复杂)问题的能力,首先要对问题和挑战充满好奇心,而不是感到沮丧。 就像 Tim Hicks 说的那样,「问题就像赛车道上的弯道。处理得好,便可以在接下来的直道中状态满分;如果过弯太快,很可能会引发侧翻,影响后续赛程。」 (原文作者:Rakia Ben Sassi) 了解更多开发者提效、研发效能管理、前沿技术等消息,欢迎关注 LigaAI@oschina。 LigaAI 助力开发者扬帆远航,欢迎体验我们的产品,期待与你一路同行!

优秀的个人博客,低调大师

Objective-C编码规范:26个方面解决iOS开发问题(转)

1 <br><a href= "http://www.csdn.net/article/2015-06-01/2824818-objective-c-style-guide/1" target= "_blank" ><span style= "font-family: verdana, Arial, Helvetica, sans-serif;" ><span style= "font-size: 14px; line-height: 21px; white-space: normal;" ><strong>链接</strong></span></span></a><br><br><br> 本文转自SharkBin博客园博客,原文链接:http://www.cnblogs.com/SharkBin/p/4991670.html,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册