亿网文交孟建州浅谈分型编程之路上遇到的坑
作者:互联网
在编程的路上你肯定遇到过这些坑。接下来让我们来看一看。
1,写代码之前规划过度
虽说写代码前充分规划是好,但凡事都有个度,还没开始做,就思考太多,也是不可取的。
不要期望世界上存在完美的规划,至少编程的世界中是不存在。好的规划可以作为起点,但实际情况是,规划是会随后续进行而改变的,规划的好处只是能让程序结构条理更清晰,而规划太多只会浪费时间。
2,低估代码质量的重要性
如果你无法兼顾代码的多项质量指标,至少要保证它的可读性。凌乱的代码就相当于废品,而且不可回收。
永远不要低估代码质量的重要性。你要将代码看作沟通的一种方式,作为程序员,你的任务是交代清楚目前任务是如何实施的。
3,吊死在一棵树上
这是我常犯的错误,即便确定了我的头号方案并不是最简单的解决方案,仍然不放手。这可能与我的性格有关。大多数情况下这是一种很好的心态,但不适用于编程。事实上,正确的编程心态是,将早期失败和经常性失败看成一种常态。
当你开始怀疑某个方案的时候,你应该考虑放下它并重新思考,不管你之前在它这里投入了多少精力。学会利用像GIT这样的源代码管理工具,它可以帮助你实现代码分支,尝试多种方案。
4,不使用封装
这一点不只是针对使用面向对象语言的例子,封装总是有用的,如果不使用封装,会给系统的维护带来很大的困难。
在应用程序中,每个功能要与用来处理它的对象一一对应。在构建对象时,除了保留被其他对象调用时必须传递的参数,其他内容都应该封装起来。
5,不使用栈
在编写任何需要递归的代码时,总是去使用递归函数。但是,这样的递归代码难以优化,特别在单线程环境下。
而且,优化递归代码还取决于递归函数返回的内容。比如,优化两个或多个返回的递归函数,就要比优化单个返回值的递归函数困难得多。
6,注释泛滥
我已经学会了,尽量不去写注释。因为大多数的注释可以通过对变量更好的命名来代替。
7,认为不出错就是正确的
看看这个实现了sumOddValues功能的函数,有什么问题吗?
const sumOddValues = (array) => {return array.reduce((accumulator, currentNumber) => { if (currentNumber % 2 === 1) { return accumulator + currentNumber; } return accumulator; });};console.assert( sumOddValues([1, 2, 3, 4, 5]) === 9);
测试通过,一切顺利,但情况真是如此?
function run_lightgallery(){
var matching = new RegExp("\[.](?:gif|png|jpg|jpeg|webp)($|[?])"),image_popup = false;
$(".article-content a").each(function(){
if( matching.test( $(this).attr('href') ) && $(this).children('img').length == 1 ){
$(this).addClass('dmd-light-gallery-item');
image_popup = true;
}
});
if( image_popup ){
$('.article-content').lightGallery({
selector: '.dmd-light-gallery-item',
share: false,
exThumbImage: 'href'
});
}
}
不管上什么编程课,你都会有这么一段 “撞墙期” 。唯一的解决办法就是坚持到底。这意味着你要不断尝试新事物,学习新知识,不断地,一步步地,去解决问题,去编出你要的程序。如果你这时认真回看自己的编程初心,你就更有可能获得成功。
标签:封装,浅谈,递归函数,代码,编程,交孟建州,网文,规划,currentNumber 来源: https://blog.csdn.net/shandongyiwang/article/details/101217720