LAYOUT的三重境界

2024-03-05 21:58
文章标签 境界 layout 三重

本文主要是介绍LAYOUT的三重境界,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近陆续有本博客的忠实读者发邮件或者致电本人,问为什么很久博客都没有更新了,最近主要是个人遇到点事情,一方面在解决问题,一方面也在思考些问题,很多人一直忙忙碌碌,会最终有一无所获的感觉,时常停下来,思考一下最近的得失和未来的路该怎么走,有点宁静致远的意思,希望读者也能时常静下来思考一下自己的路和过去的得失!
看过学而时嘻之的打游戏有三重境界,感触很深,因为自己是个忠实的魔兽 3c玩家,所以文中很多文字能得到共鸣,就打游戏而言,我可能处于游戏的第二重境界,能得到不断的正反馈,让我不断的沉浸在其中。
我想本博客能引起部分读者共鸣,也是因为我们关注着共同的技术,共同的行业。所以受学而时嘻之的启发,今天打算写这篇LAYOUT的三重境界。
这篇文章的腹稿其实已经打了很久了,因为这些道路就是本人亲身经历,虽然自己也没有达到“最高境界”,但也算是在不断地“修炼”,想追寻”最高境界“之路。所以很多以下要写的文字其实在平时的地铁中,超市中,家中,以及电脑前,都无时无刻的在思考着,揣摩着。写之前也有点忐忑,因为不知道能否写好,期待读者的反馈!
LAYOUT的第一重境界:软件使用阶段
记得刚入行时,看着眼花缭乱的板子,第一感觉是不知从何下手,怎样看懂,还有就是为什么很多线都是刚刚好走过去,连一根多余的线都走不下,软件如何操作才能完成这么复杂的工作,进而为了学会软件,当时也不好意思去频繁打扰别的同事,就对着cadence的使用手册(我记得还是英文版的)一点点的看下来,然后去实践,我记得我的第一块DVD的板子,现在看来很简单,我5天内我通宵了两晚上才布完,当时很多设计规范还有原则自己也不清楚,只是家用事业部的同事告诉我该怎么做,然后就去满足他的需求,自己去一边摸索软件的用法,一边布板,效率很低,但是这其中的很多经历给之后打下了很好的基础。
熟悉了CADENCE的操作以后,进而学习了ZUKEN,VALOR,CAM,还有好些小软件,我觉得这个阶段是非常重要的,我也在这重境界里稳固的打了一年半的基础。进而为我日后自己总结出PADS的独特的一套使用方法埋下了伏笔。
这重境界无论如何都跨越不过去的,也不可能省去,在这里我分享一下我认为这重境界里的“秘技”:勤奋+懒惰。
勤奋篇:
学习一个软件,如果你日后的大部分工作都依赖于此软件,那么绝对不要投机取巧,看看速成或者简单的教程,就满足了,因为这样你的效率会很低,而且进步很慢,往往是从别人那里学来一肢半节,自己也不知所以然,而且如果碰巧你的周围人也不会,那么你可能连一肢半节都学不到,充其量只能处在“社会主义的初级阶段”,能解决个“温饱问题”,那么日后你就天天疲于各种各样的命令,忙忙碌碌而无所作为,还有可能就是你永远停滞于这个阶段,被别人视为一个布线工具!勤奋是最好的解决办法,找到软件的使用手册如果没有中文的就看英文的,一个个命令看过去,不要怕浪费时间,因为正是你怕浪费的时间,往往被你用来更好的浪费在了其他地方,还不如静下心来去好好自己研究一遍,这样心里也有底了,当你看完一个软件的使用手册,再去看其他的,你会发现很多地方都触类旁通了。而且在不同的软件使用过程中,又能联想出一些强大的功能来。这样很快你对所使用的软件驾轻就熟了。
懒惰篇:
这里说的懒惰,是指要用轻松的方法去工作,普通的一个动作一般要5秒完成,那么有没有办法2秒完成,我们大概算一下,这样一个动作你节省下来3 秒钟的时间,假设你做完一个板子需要3000次这样的动作,那么就会节省9000秒,即2.5个小时,假设这样的动作有10个呢,再或者有20个呢?那么留个你思考或者进步的时间不就有了么?很多同行抱怨没有时间,或者项目给予的时间太少,实际上,你是有很多时间没有利用起来。“最富有的人都知道,自己到底富有什么。我们共同拥有一种东西,那就是宝贵的时间.最富有的人是最珍惜时间的人,”一寸光阴一寸金”,他们能够把时间变成黄金,因而他们是最富有的. ”当然懒惰的方法有很多种,也有很多空间可以去挖掘,这一块,也欢迎读者留言交流。但这些要在勤奋的基础上,才能超越自己。
LAYOUT的第二重境界:能够整体上掌握一个项目

能顺利快速渡过第一阶段的工程师不多,很简单的看一下,现在相关的论坛,qq群里大家关注的问题,就可以知道,80%的问题好像都是软件使用问题,对中国的工程师来说软件问题还真是个大问题。
第二阶段的PCB工程师,已经掌握了工艺,软件,设计规范,基本流程,已经可以独立负责项目,承担一个小公司的大部分相关工作,但这个阶段很多工程师会有一个疑惑,他们不知道下面的路该怎么走,他们平时也会去看看板子,好像在研究什么,但是却说不出什么,研究来研究去还是一些大家所熟知的设计规范,无非就是这个芯片注意点什么,那个模块布线有什么讲究之类的。问他们为什么,他也说不清楚,这其中的原因是缺乏理论知识和实践经验的支持。
LAYOUT 的第三重境界:探索和研究的境界
到达这个境界的PCB工程师,会努力的学习各种方面的知识,信号完整性,热设计,EMC,结构设计,板材知识等等,借用打游戏的三个境界中的一句话:他们用搞科研的精神,去野外找怪物做实验。然后他们把发现写成一篇论文。他们可以反复打某个单机游戏中的同一张地图而不觉枯燥,因为他们追求的不是简单的快感,而是更高的技艺水平,是艺术。他们仿佛在游戏之中,又好像在游戏之外。在打游戏中这是最高境界,在LAYOUT中,这也是,这样的工程师,他们可以反复的LAY一块板子,或者对自己LAY出来板子的性能和工艺特别关注,发现问题了会将这些写成文章,与其他人共同研究。他们在追求着更好的性能,和更优化的产品,而不是止步于已有的经验和规范。他们在LAY着板子,好像又凌驾于板子之上,因为他们的思想已经超越了板子本身,这种工程师是令人佩服的。
泰格伍兹为什么令人畏惧, 泰格伍兹挥杆。动作已经开始了。这时候比赛现场突然有异动。比如说有个观众大声喊叫,或者有人突然跑出来。总之这个异动将会干扰泰格伍兹的动作。泰格伍兹会把做到一半的动作生生停住!然后他调整姿势,重新开始。 这就是传说中的高手,他没有舒适区,他会不断调整自己,始终使自己呆在调整区,LAYOUT也是一样,真正的最高境界是不会满足于对一个个独立项目的把握,而是使自己不断地处于“学习区”,学习研究新的知识技能,做出好的产品!

移动互连设计致力于打造一个专业的 PCB设计主题博客,分享设计心得,交流从业经验,挖掘行业信息, 带动整个行业发展。

 

摘自:http://www.edablog.info/

这篇关于LAYOUT的三重境界的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/777936

相关文章

ConstraintLayout布局里的一个属性app:layout_constraintDimensionRatio

ConstraintLayout 这是一个约束布局,可以尽可能的减少布局的嵌套。有一个属性特别好用,可以用来动态限制宽或者高app:layout_constraintDimensionRatio 关于app:layout_constraintDimensionRatio参数 app:layout_constraintDimensionRatio=“h,1:1” 表示高度height是动态变化

Vulkan描述符、描述符Pool、Layout概念

1、DescriptorSetLayout为了组织和管理着色器资源(如缓冲区、纹理、采样器等),多个相同类型的Descriptor放在一个Layout中以优化GPU对资源的访问   //DescriptorSetLayout定义了哪些描述符Descriptor类型(Buffers、Textures、Samplers)可以包含在其中 VkDescriptorSetLayoutBinding

SpringBoot与Minio的极速之旅:解锁文件切片上传新境界

目录 一、前言 二、对象存储(Object Storage)介绍 (1)对象存储的特点 (2)Minio 与对象存储 (3)对象存储其他存储方式的区别 (4)对象存储的应用场景 三、Minio基础介绍 (1)主要特性 (2)应用场景 (3)架构和部署 四、SringBoot集成MinIO实现切片上传 1. 引入依赖 2.配置MinIO相关配置信息 3. 配置 Min

【POJ】3169 Layout 【HDU】3592 World Exhibition 差分约束

传送门:  【POJ】3169 Layout、【HDU】3592 World Exhibition 题目分析:我会说我只是凭直觉写的吗。。。。。。。 如果有B-A>=C形式的,则建边(B,A,-C)。 如果有B-A<=C形式的,则建边(A,B,C)。 对所有的点X,建边(X,X-1,0)。 最后跑一遍最短路。如果存在负环输出-1,如果点N不可达输出-2,否则输出点N的值(最短路径长

Scala界面Panel、Layout初探

示例代码: package com.dt.scala.guiimport scala.swing.SimpleSwingApplicationimport scala.swing.MainFrameimport scala.swing.Buttonimport scala.swing.Labelimport scala.swing.Orientationimport scal

flutter RenderConstrainedBox object was given an infinite size during layout.

问题原因  sliapp 加上的 动态设置高度 问题 去掉 就行了 SliverToBoxAdapter(child: SizedBox(height: _getSliverToBox().toDouble()),),

《C++运算符重载:谨慎前行,开启高效编程新境界》

在 C++编程的广阔世界中,运算符重载是一项强大而富有魅力的技术。它允许程序员重新定义已有的运算符,使其能够在特定的用户自定义类型上进行操作,从而为代码带来更高的可读性和灵活性。然而,就像一把双刃剑,运算符重载如果使用不当,也可能会导致代码的混乱和难以维护。本文将深入探讨 C++中的运算符重载有哪些注意事项,帮助你在编程之路上更加稳健地运用这一强大工具。 一、理解运算符重载的本质 运算符重载并

《大道平渊》· 拾玖 —— 做产品的四大境界

《大道平渊》  【顶级】虚空造物, 无中生有。 【上等】带脑子抄, 模仿, 改进, 超越。 【中等】无脑抄, 一模一样, 疯狂内卷。 【下等】抄都能抄错, 蠢货。 // 题外话:呵呵,很多人照着抄都能抄错,给了模板不会用,项目拆解出来嚼烂了喂到他们嘴里都咽不下去,建议趁早放弃。嫌麻烦,要不我直接把我项目的收款码换成你的得了?

如何在android style/layout文件中使用自定义属性。

自定义属性:      <declare-styleable name="facepanelStyle">         <!-- 底部Tab分割线背景 -->         <attr name="tabSpiltColor" format="color" />  </declare-styleable> Style:引用自定义属性  <style name="test">

Android开发中,fragment无法找到Layout文件问题的原因与解决

这次已经是我第二次遇到这个问题,正所谓“人可以犯错,但是不能犯同样的错误”。所以这次解决问题之后我决定写个笔记防止下次再遇到这个问题不知道怎么解决,顺便也给遇到同样问题的哥们一个帮助。 做项目的时候需要用到Fragment,但是在onCreateView()里面用inflater.inflate(R.layout.activity_main, container, false);为Fragm