竹笋

首页 » 问答 » 环境 » 干了10年软件工程师,我学到10个教训
TUhjnbcbe - 2021/4/3 2:57:00
北京治疗白癜风到底花多少钱         http://news.39.net/bjzkhbzy/170210/5218115.html
北京治疗白癜风到底花多少钱         http://news.39.net/bjzkhbzy/170210/5218115.html

作者丨PranaySuresh

策划丨万佳

“三人行必有我师焉,择其善者而从之,其不善者而改之。”这句话出自论语,却同样可应用到我们的职业生涯中。在职业道路中,你应该学会向那些成功人士请教,询问他们做了什么、为何这样做和具体实践。在本文中,我将分享我在职业生涯中所学到的全栈工程师经验。

作为一名年轻工程师,我在科技行业和硅谷打拼了十年。这十年,我一直在高速增长的创业公司工作,经历了与此相关的所有起起落落。从构建nextgen电子邮件客户端,到在全球范围内推广电动汽车,再到网上购物结账,我学到很多。

当回想过往,我觉得有些错误完全可以避免。在本文中,我将分享我在职业生涯中所学到的全栈工程师经验。从中,我总结了十大经验教训。我相信,这些经验教训值得起时间考验,并在未来几年里依然适用。

这份列表从前端开始,然后是后端API和数据库,最后是工程最佳实践/流程。

    经验总结  

CSSSpecificity

组件层次结构中的设计状态

后端编程中的面条式代码、千层饼式代码和馄饨式代码

生产中的Postgres

欲速则不达

投资自动化

掌握你的工具

最小可行性产品(MinimumViableProduct,MVP)

研究支持开发

科学调试

1CSSSpecificity

错误:我的CSS不适用。我要用!important。

教训:应该为特殊情况保留使用!important,因为它们破坏了整个CSS层次结构,并强制使用特定样式。所以,你有必要了解CSSSpecificity。

CSSspecificity是浏览器应用的一组规则,用来确定哪个CSS样式更specific。你可以将其视为基于点的系统,它决定哪种CSS样式获得优先权,并最终应用于DOM元素。

如果你想知道,为什么你的CSS没有被应用,这与CSSspecificity有关。在大型项目中,这是一个很常见的问题,在这类项目中,像SCSS这样的预处理程序与复杂的CSS层次结构一起使用。了解CSSspecificity将有助于你保留使用!important,仅在极罕见的覆盖情况下使用,例如,当你想要覆盖CSS库或让iframe覆盖主机站点样式时。

本质上,优先顺序是这样:IDselectorsClassselectorsTypeselectors。!important和内联style属性会覆盖所有的CSS。

对于应用于元素的每个CSS,你都可以轻松确定哪种样式将生效。例如,如果你加载上面的HTML代码:

在本例中,IDselector优先级高于typeselector。如果冲突的CSS选择器具有相同的优先级,那么将选择CSS文件中的最后一个。

最后,ChromeDevTools将会显示如上图所示的specificity顺序。如果你无法使用CSS,请查看Chrome使用的specificity顺序,然后添加一个更具体的选择器(如ID选择器、类选择器、类型选择器),让你的CSS更特定,并指示浏览器选择它。

如果你不想这么做,请看看这个specificity计算器

1
查看完整版本: 干了10年软件工程师,我学到10个教训