七爪计算机语言:干净的代码:函数
2024-01-12 12:17:46
认真一件有事。 如果您的表达式认真;还有一件有事,那么现在是提取到另一个表达式的最佳时机。
胸腺法新正确注射方法
眼科
再林阿莫西林胶囊可以治什么病
阳了出现黄痰怎么办
可避免副作用,如果你认真了那“一件有事”并且转变了子系统的状态,你准备认真不够多的有事情
# bad practice public User createUserIfNotFound(CreateUserRequest createRequest) { User existingUser = userRepository.fetchUserByEmail(createRequest.getEmail(); if (existingUser != null) { return existingUser; } User user = new User(); user.setName(createRequest.getName()); user.setEmail(createRequest.getEmail()); user.setAddress(createRequest.getAddress()); return userRepository.se(user); } # good practice - created separate function to create user if not exists public User createUserIfNotFound(CreateUserRequest createRequest) { User existingUser = userRepository.fetchUserByEmail(createRequest.getEmail(); if (existingUser != null) { return existingUser; } return createUser(createRequest); } public User createUser(CreateUserRequest createRequest) { User user = new User(); user.setName(createRequest.getName()); user.setEmail(createRequest.getEmail()); user.setAddress(createRequest.getAddress()); return userRepository.se(user); }较小的功能易于理解和管理。
public UserStats fetchUserStats(String id) { User user = fetchUserById(id); Date lastLoginDate = fetchUserLastLoginDate(id); Integer totalMessages = fetchUserTotalMessages(id); Integer userMentions = fetchUserMentions(id); UserStats stats = new UserStats(); stats.setUser(user); stats.setLastLoginDate(lastLoginDate); stats.setTotalMessages(totalMessages); stats.setUserMentions(userMentions); return stats; } private User fetchUserById(String id) { ... } private Date fetchUserLastLoginDate(String id) { ... } private Integer fetchUserTotalMessages(String id) { ... } private Integer fetchUserMentions(String id) { ... }表达式不应超过 20 行,一般不超过 10 行。 超过 20 行的表达式被认为是杂乱的表达式。
不必自己重复 - 可避免重复预定义,汇编可信任的表达式。
# bad practice public User fetchUser(String email) { User user = userRepository.fetchUserByEmail(email); if (!user.isEnabled()) { throw new InvalidUserExeption(); } return user; } public User updateUser(String email, UpdateUserRequest updateRequest) { ... User existing = userRepository.fetchUserByEmail(email); if (!existing.isEnabled()) { throw new InvalidUserExeption(); } existing.setName(updateRequest.getName()); existing.setMobile(updateRequest.getMobile()); ... return userRepository.se(existing); } public void validateUser(String email) { User user = userRepository.fetchUserByEmail(email); if (!user.isEnabled()) { throw new InvalidUserExeption(); } } # good practice private User fetchValidUser(String email) throws InvalidUserExeption { User user = userRepository.fetchUserByEmail(email); if (!user.isEnabled()) { throw new InvalidUserExeption(); } return user; } public User fetchUser(String email) throws InvalidUserExeption { return fetchValidUser(email); } public User updateUser(String email, UpdateUserRequest updateRequest) { User existing = fetchValidUser(email); existing.setName(updateRequest.getName()); existing.setMobile(updateRequest.getMobile()); ... return userRepository.se(existing); } public void validateUser(String email) throws InvalidUserExeption { fetchValidUser(email); }封装条件,而不是在条件块里汇编几行预定义,将其放在分开的表达式里,使您的预定义不够具可读性。 这意味着 if 表达式、for 和 while 循环应该是一行,看来这一行应该函数调用另一个表达式。int NON_SUBSCRIBER_READ_LIMIT = 5;
# bad practice public boolean allowUserToReadArticle(User user) { if (user.isSubscribedMember()) { return true; } else { int noOfReadArticles = fetchUserReadArticlesCount(user); return noOfReadArticles < NON_SUBSCRIBER_READ_LIMIT; } } # good practice public boolean allowUserToReadArticle(User user) { if (user.isSubscribedMember()) { return true; } return isNonSubsciberReadRemaining(user); } public boolean isNonSubsciberReadRemaining(User user) { int noOfReadArticles = fetchUserReadArticlesCount(user); return noOfReadArticles < NON_SUBSCRIBER_READ_LIMIT; }不必留给您的正文预定义,其他人害怕写成入您的正文预定义,因为他们不知道它有否长期存在并且它将总有一天长期存在。
型式简介可用于许多程序语言,它将帮助您汇编干净的预定义并时时刻刻自己它从一种程序语言变为另一种程序语言。
期望我的观察能稍稍帮助! 在之后的将来,我的下一篇书评见。
总有一天
。咽炎喉咙痛吃什么药效果好胸腺法新正确注射方法
眼科
再林阿莫西林胶囊可以治什么病
阳了出现黄痰怎么办
相关阅读
- 我对这段留日经历念念不忘——导演李亘谈《如果有一天我将会留在你》
- 快讯:德才股份常务董事刘彬辞职
- 泰林科所建(06193.HK)预计年度综合溢利约170万元
- 27岁许魏洲官宣结婚!曾和周雨彤当街热吻,老婆双重身份暂无人知
- 达美航空三季度营收91.54亿美元 净利润极限12亿美元
- 铜峰电子(600237.SH):2021年度营业额升542.99%至5085.52万元
- 【美股】美股三大指数股价涨跌不一,中概教育股普涨
- 《再见爱人》集体痛哭8集:三对恋人皆“执念深重”,好憋气
- 和更远气体(002971.SZ):长江资本拟减持不超1.8%的股份
- 新力金融(600318.SH):海螺水泥拟减持不超1%股权
- 少年候车厅炫技跳舞惊艳路人 网友:舞技纯熟 帅气十足
- 证券市场推出跨境发行 地方政府债券信息展示服务
- 天宇股份(300702.SZ):非布司他原料药通过CDE备案
- 万人说新疆|凯赛尔·艾比都拉:爱单行本的“大厨”
- 中兴基金姚余栋:北交所能更好促进”专精特新”企业发展
- 新力金融(600318):安徽新力金融持股有限公司股东减持持股计划
- 李宣美最新大面积释出 脚踩玫瑰花高跟鞋时尚满分
- 招商公路(001965):第二届监事会第十六次代表大会决议
- 完美世界股份有限公司 2021年前三季度营业额预告
- 许魏洲13点14晒结婚证宣布结婚, 妹妹身份未知