0基础程序员如何快速进阶成为编程老司机?

文章提供了菜鸟程序员成长为资深开发者的建议,包括有效搜索、拥抱变化、重视细节、选择合适工具、理解代码价值、接受批评、结对编程、自我审查、关注时间管理、参与开源项目、编写和理解烂代码等关键点。强调了实践、学习和适应性在提升编程技艺中的重要性。

菜鸟程序员如何摆脱稚嫩,快速成长为一名资深码农?以下这些事情,帮你快速打好基础。

如果你想成为更好的开发者,你应该尤其注意第10点和第14点。

1.积极大胆地谷歌。你得知道如何有效地组织搜索关键字,查阅别人写的代码,然后合理地用在代码里,从而解决问题。

2.拥抱变化,坚持不懈。老手程序员在接触新技术时,能欣然接受像个初学者一样处处受挫,并总能在完成工作的同时自学成才。

3.承认细节的重要性。例如变量和函数的命名、CSS 属性的命名、该用哈希还是用数组,以及其他看起来微不足道,但可能对项目有深远影响的事情。

4.选择合适的工具解决问题。网上有无数的开源库、工具和框架,让人眼花缭乱。而老手们清楚地知道针对怎样的问题,应该用什么样的工具。

5.明白代码「不值钱」(该删就删)。你必须习惯于删掉几百行代码来重写程序的某一部分,毫不留情。

6.学会说“我不知道”。没有比拒绝承认自己不知道更能浪费一个开发者的时间了。

7.仔细分析错误信息里的线索。传统教育告诉我们:失败是坏事。报错信息这种东西也经常被跟失败联系起来,然而优秀程序员明白,这些错误消息里其实隐藏着能将你指向最终正确解决方案的线索。

8.了解过早优化和必要的“炫技式”优化的区别。老手们清楚在什么时候需要写一些看上去没那么好懂,但会让程序运行更快的代码。

9.学会用Vim(至少会一点)。你至少应该在这个编辑器里学会勉强地移动和翻页。

10.在自己会的技术领域的私活。个人做自由职业项目,其中很大一部分挑战就是评估项目时间。很多众包平台上都能接到私活,如程序员客栈、码市、人人开发、开发邦等,私活多、灵活度高,时间自由,可以搞钱。

11.学会坦然接受批评。当你的代码因为各种原因四分五裂时,你需要培养用理性和逻辑的方式来应对(而不是情绪化处理)。

12.同有更多经验的人结对编程。没有比这个更高效的编程学习方式了。

13.一定要先自己做一遍代码审查。当你在GitHub上发起一个pull request之前,先把代码当成别人写的,自己先审查一遍。

14.不要数你干活花了几个小时。技术大牛会把时间花在有深度的工作上,并且他们清楚花了多少时间完全不重要。

15.发现并解决更大的问题。优秀的程序员不拘泥于眼前的问题,而是清楚如何用更长远的方式彻底的解决这一类问题。

16.深入了解一些大型开源项目的核心能让你开发时如虎添翼。如果你知道如何给你的项目打猴子补丁(Monkey Patch), 那么你将无所不能。

17.能写烂代码。有时候可以当一当“胶带式程序员”。关键是随着时间推移,你需要弄清楚什么时候可以走捷径,什么时候必须走捷径。这其实是最难掌握的技能之一。
像生活中的很多事情一样,编程也是你做的越多,了解的就越多。所以如果你是一个新手程序员,还是直接去编码吧。记得将这些最佳实践应用在日常工作中,来不断提升你的编程技艺。

 最后

为了帮助大家更好的学习Python,小编给大家准备了一份Python学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,需要获取方式:扫描下方即可获取。

优快云大礼包:《Python零基础入门&进阶学习资源包》免费分享

👉Python学习路线汇总

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

👉精品Python学习书籍👈

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

温馨提示:篇幅有限,已打包文件夹,获取方式:点击这里【 Python全套资料或扫描下方即可获取。

优快云大礼包:《Python零基础入门&进阶学习资源包》免费分享

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

​​​

👉100道Python练习题👈

​​​

👉面试刷题👈

​​​

​​​

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

​​​

获取方式:点击这里【 Python全套资料或扫描下方即可获取。

优快云大礼包:《Python零基础入门&进阶学习资源包》免费分享

 

## 题目重述 根据职工工资管理系统的功能设计要求开发程序。 ## 给出答案(答案为带注释的代码块) ```python class Employee: def __init__(self, id, name, basic_salary, post_salary, allowance, medical_insurance, provident_fund): self.id = id self.name = name self.basic_salary = basic_salary self.post_salary = post_salary self.allowance = allowance self.medical_insurance = medical_insurance self.provident_fund = provident_fund # 计算总工资 def total_salary(self): return self.basic_salary + self.post_salary + self.allowance - self.medical_insurance - self.provident_fund # 建立新记录 def create_record(id, name, basic_salary, post_salary, allowance, medical_insurance, provident_fund, data_file): new_employee = Employee(id, name, basic_salary, post_salary, allowance, medical_insurance, provident_fund) data_file.append(new_employee) # 显示记录 def display_records(data_file, employee_name=None): if employee_name is None: for record in data_file: print(f'ID: {record.id}, Name: {record.name}, Basic Salary: {record.basic_salary}, Post Salary: {record.post_salary}, Allowance: {record.allowance}, Medical Insurance: {record.medical_insurance}, Provident Fund: {record.provident_fund}, Total Salary: {record.total_salary()}') else: for record in data_file: if record.name == employee_name: print(f'ID: {record.id}, Name: {record.name}, Basic Salary: {record.basic_salary}, Post Salary: {record.post_salary}, Allowance: {record.allowance}, Medical Insurance: {record.medical_insurance}, Provident Fund: {record.provident_fund}, Total Salary: {record.total_salary()}') # 修改记录 def modify_record(data_file, id, **kwargs): for record in data_file: if record.id == id: print(f'Before Modification: ID: {record.id}, Name: {record.name}, Basic Salary: {record.basic_salary}, Post Salary: {record.post_salary}, Allowance: {record.allowance}, Medical Insurance: {record.medical_insurance}, Provident Fund: {record.provident_fund}, Total Salary: {record.total_salary()}') for key, value in kwargs.items(): setattr(record, key, value) print(f'After Modification: ID: {record.id}, Name: {record.name}, Basic Salary: {record.basic_salary}, Post Salary: {record.post_salary}, Allowance: {record.allowance}, Medical Insurance: {record.medical_insurance}, Provident Fund: {record.provident_fund}, Total Salary: {record.total_salary()}') # 查找记录 def find_record(data_file, id): for record in data_file: if record.id == id: print(f'ID: {record.id}, Name: {record.name}, Basic Salary: {record.basic_salary}, Post Salary: {record.post_salary}, Allowance: {record.allowance}, Medical Insurance: {record.medical_insurance}, Provident Fund: {record.provident_fund}, Total Salary: {record.total_salary()}') break else: print('Record Not Found') # 删除记录 def delete_record(data_file, id): for i, record in enumerate(data_file): if record.id == id: del data_file[i] break else: print('Record Not Found') # 统计 def statistics(data_file): # (A)计算各项工资平均工资及总工资 num_of_employees = len(data_file) total_basic_salary = sum([record.basic_salary for record in data_file]) avg_basic_salary = total_basic_salary / num_of_employees if num_of_employees != 0 else 0 print(f'Average Basic Salary: ${avg_basic_salary:.2f}') # (B)统计符合指定条件的工资职工人数及占总职工人数的百分比 # 这里仅举了一个条件的例子 count_condition_salary = len([record for record in data_file if record.total_salary() > 3000]) percentage_condition_salary = (count_condition_salary / num_of_employees) * 100 if num_of_employees != 0 else 0 print(f'Number of Employees with Salary more than $3000: {count_condition_salary}, Percentage: {percentage_condition_salary:.2f}%') # (C)按字符表格形式打印全部职工工资信息表及平均工资 print('ID\tName\tBasic Salary\tPost Salary\tAllowance\tMedical Insurance\tProvident Fund\tTotal Salary') for record in data_file: print(f'{record.id}\t{record.name}\t${record.basic_salary}\t${record.post_salary}\t${record.allowance}\t${record.medical_insurance}\t${record.provident_fund}\t${record.total_salary()}') ``` ## 代码解析 此段代码定义了一个名为`Employee`的类用于存储员工的工资信息,并定义了一系列函数实现职工工资管理系统的功能需求。 - `create_record`:用于创建新的员工记录并将其添加到`data_file`列表中。 - `display_records`:用于显示所有记录或特定员工的记录。 - `modify_record`:用于修改某个员工的记录,并展示修改前后的差异。 - `find_record`:用于在`data_file`列表中查找特定员工的记录。 - `delete_record`:用于从`data_file`列表中删除特定员工的记录。 - `statistics`:实现了统计功能,包括计算各项工资平均工资、统计符合条件的员工数量及比例、以及打印职工工资信息表等。 ## 知识点 - Python面向对象编程:用于创建员工对象,封装数据和行为。面向对象编程有助于组织代码结构。 - Python函数:函数是一种组织代码的方法,可以重复调用执行特定任务。这有助于提高代码的复用性和可维护性。 - 文件操作:虽然本示例未涉及实际文件读写,但描述了对内存中列表的操作。实际应用中需要结合文件读写操作实现持久化存储。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值