想提高先改变你的编程思想,而不是代码量

前言

之前接手一个功能感触颇深,同样的功能重复copy,如此循环开发功能。等到接手的时候,那叫一个恶心。稍微修改一个地方,不仅仅需要先看懂他的嵌套逻辑,还需要像他一样各处去寻找代码在哪儿。

如何判断你现阶段是什么状态?

  1. 初级阶段:

    • 只为了实现功能,面向功能开发。先实现功能,再优化,结果最后自己看自己代码都不知道是干嘛用的,毫无规范。
    • 很少去认真的读文档,学习只靠视频。跟着视频敲代码,代码敲错了,然后开始怀疑起来了,明明照着视频敲的怎么会错呢?
    • 代码的最常用的就是:foreach,for,if,三大神器。没有什么是循环和判断解决不了的,如果有?请嵌套下去直至问题解决。
    • 问问题别人说你去读文档文档上就写着呢,他就觉得你装X你要是不会就别说话。
    • 基本没有解决问题的能力,解决问题基本靠问。
    • 遇到问题报错后,问问题也不知道怎么去形容。看到英文报错一脸懵逼,截图直接扔到qq群里。
    • 有的时候明明自己都已经知道怎么去解决,但是就不愿意尝试一下,必须找别人确定了再去写。

  2. 中级阶段:

    • 有一定的编程思想了,会考虑代码的健壮性。
    • 问题遇到多了,总结出自己一套解决问题的方法。
    • 写代码会考虑,会用不同的方式去实现。同样的问题尝试用不同的方式,去考虑如何更好的实现。
    • 写代码多了有时候会迷茫,总觉自己写的代码有问题,常常回顾自己的代码,怀疑是否有性能问题等等。
    • 有自觉性督促自己时刻需要学习新的东西,时常找别人交流技术。
    • 关注大佬的博客,有意识的去读大佬写的代码,通过总结记笔记等到开发功能的时候直接拿来用。
    • 发现了基础非常重要,明明手册上有的东西看到大佬用了,发现自己之前居然都没听说过。
    • 遇到任何问题不管是谁的问题,都拿来当做自己的问题,提高自己解决问题的能力。
    • 尝试写博客或者其他项目去锻炼自己,多去实践。

  3. 高级阶段:

    • 写代码有自己独立思想,写代码之前会详细了解需求,会根据需求去架构。
    • 实现业务的同时会考虑,封装,复用,扩展性,把自己的东西最小化分解,严格执行代码规范,命名(看到毫无规范的代码内心XXX)。
    • 不满足一种语言,尝试学习各种技术。
    • 所有的东西趋于自动化,尝试依靠开源软件去提高效率。
    • 总感觉一天到晚时间就没有够用的时候,看看自己设定的计划还有很多没完成。
    • 帮助别人解决问题同时,突然发现永远解决不完,因为只会问问题的人问题是问不完的(不如省下时间用来学习,分享自己的总结给自主学习的人)。
    • 自己掌握的东西越多的时候越是谦虚,对待任何问题都是严谨的生怕误导别人。
    • 会深挖技术的本源,去尝试学习底层实现。

如何提高自己

  • 保持一颗虚心求教的心。
  • 关注大佬分享的东西,及时去总结,尽可能把总结的东西利用上。
  • 打好基础,基础是你提升最重要的武器,同时也需要多关注新的技术,从而总结更好的实现方式。
  • 问问题之前先去查看资料,带着自己的见解和不明白的地方去问问题,把问题的报错,环境,如何实现和自己的思路说清楚。
  • 给自己制定学习计划。
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 5年前 自动加精
yourself
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 16

楼主谈的只是心里想要达到的目标,但是很多人会很茫然,我也想封装,复用,扩展,但是真正做起来很茫然啊

在这里我个人给个学习建议路线:

初级:先理解OOP,什么是类,什么是实例,写代码先考虑怎么建立一个类,考虑是否需要抽象接口出来,怎么合理定义成员变量和成员方法

中级:开始吃透 SLOID 原则,了解设计模式,熟悉常用的几种模式,最最常用的就是那5,6种模式

高级:熟悉和了解 PHP,HTTP 和 数据库 的一些本质概念

5年前 评论

楼主谈的只是心里想要达到的目标,但是很多人会很茫然,我也想封装,复用,扩展,但是真正做起来很茫然啊

在这里我个人给个学习建议路线:

初级:先理解OOP,什么是类,什么是实例,写代码先考虑怎么建立一个类,考虑是否需要抽象接口出来,怎么合理定义成员变量和成员方法

中级:开始吃透 SLOID 原则,了解设计模式,熟悉常用的几种模式,最最常用的就是那5,6种模式

高级:熟悉和了解 PHP,HTTP 和 数据库 的一些本质概念

5年前 评论
Jourdon

file

5年前 评论

中级 和 高级 感觉不冲突啊...

5年前 评论

@yourself 看啦看论


<?php
/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| The first thing we will do is create a new Laravel application instance
| which serves as the "glue" for all the components of Laravel, and is
| the IoC container for the system binding all of the various parts.
|
*/
$app = new Illuminate\Foundation\Application(
realpath(__DIR__.'/../')
);
/*
|--------------------------------------------------------------------------
| Bind Important Interfaces
|--------------------------------------------------------------------------
|
| Next, we need to bind some important interfaces into the container so
| we will be able to resolve them when needed. The kernels serve the
| incoming requests to this application from both the web and CLI.
|
*/
$app->singleton(
Illuminate\Contracts\Http\Kernel::class,
App\Http\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Console\Kernel::class,
App\Console\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);
/*
|--------------------------------------------------------------------------
| Return The Application
|--------------------------------------------------------------------------
|
| This script returns the application instance. The instance is given to
| the calling script so we can separate the building of the instances
| from the actual running of the application and sending responses.
|
*/
return $app;
5年前 评论
xingchen

说了一大堆不实用的 简单的说就是看工资辨别能力 八千以下是低级 一万五以下是中级 以上是高级

5年前 评论

编程思想,代码规范真的很重要

5年前 评论

与我高级阶段很符合 不习惯看乱的 自己写的代码会按照一定的规范去想 太多循环也不想用 但是我只是初级phper啊 是不是太好高了

5年前 评论
yourself

@huijiewei 如果要说学习路线那就太多了10篇文章也写不完,踏实下心来。把文档啃出来你就能学到很多东西。

5年前 评论

代码量上去了,什么规范什么思想,瞅一眼,就明白了。 学校时候,代码量很少,天天学什么数据结构,面向对象,设计模式,都是应付考试的,过了就忘了,很多东西还是敲着敲着就明白了。

5年前 评论
JaguarJack

先达到一万小时定律再讲。其他都是虚的

5年前 评论
yourself

@JaguarJack 你这句话我前一阵和一个同事交流技术,我说你这里实现有问题。他想的都没想的回复我,不会的我写了20个项目,我所有的项目都是这么复制粘贴copy代码。就是我前言里面提到的内个所谓自居的大佬的话8年编程。

5年前 评论
JaguarJack

@yourself 我讲的不是这种人 :joy:

5年前 评论

感觉这三条适合高级,其它的放在中级更合适

个人观点『高级』是以达到知其然知其所以然去解决问题,能以项目层去思考设计结构,重点在源码理解上与设计
模式上。 
  • 自己掌握的东西越多的时候越是谦虚,对待任何问题都是严谨的生怕误导别人
  • 会深挖技术的本源,去尝试学习底层实现。
  • 写代码有自己独立思想,写代码之前会详细了解需求,会根据需求去架构。
5年前 评论

先把代码风格给规范好了再来写代码吧,,,,

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!