对于一个简单的命令行待办事项管理器(即用C实现),这就是我对设计的看法:
该实用程序通过将todo存储在每个
的不同文件中来支持多个用户运行程序时会将所有数据保存在内存中。这样可以避免不必要的IO,并且当您不希望用户拥有超过20个待办事项时(我假设这是真的)也非常适合。因此,如果用户已经存在,则将读取用户todo文件并将所有数据捕获到内存(在行(结构)的数组中),然后在用户注销文件时将更新。
该项目的目的是展示如何在保持简单的同时完成任务。
这个伪伪代码概述了结构
// define data structure memory limits
// and other constants
bootup() {
// initialize data structures
}
readfile() {
use rot13();
}
writefile() {
use rot13();
}
login() {
ask_for_username
search for file or create one
if file present
readfile();
... and populate data structures
}
//1.
enter_new_task() {
read
record_time
is_starred
optional_due_date
}
//2.
...
fetch_commands() {
show_command_menu();
// 1. enter a new task
// 2. see the list of tasks
// 3. delete a task
// 4. edit a task
// 5. sort tasks by
}
while_not_logout() {
display_ui();
fetch_command();
while(command != logout) {
execute_command();
update_ui();
fetch_command();
}
writefile();
}
cleanup() {
// free memory
}
int main() {
bootup();
login();
while_not_logout();
cleanup();
}
如何改进程序结构/执行流程?
在开始插入实际代码之前,我想知道在哪里可以改进程序结构。欢迎任何建议/意见。
答案 0 :(得分:1)
如果您想将所有内容保留在内存中,则只需在writefile
之后拨打cleanup
,或在main
之后从while_not_logout
拨打电话。为什么不通过将他们的待办事项列表保存在自己的homedir中来支持多个用户?