WEB开发网
开发学院网络安全黑客技术 如何阅读源代码(5) 阅读

如何阅读源代码(5)

 2006-07-04 20:27:41 来源:WEB开发网   
核心提示: 这一段,做了一些URL字符串中的字符转换工作,如何阅读源代码(5)(2),很长,我个人认为为了程序的模块化,和不够结构化,跳过这一段乏味的代码,结构化和可复用性,应该将这一段代码改为函数

这一段,做了一些URL字符串中的字符转换工作,很长,我个人认为为了程序的模块化,结构化和可复用性,应该将这一段代码改为函数,避免主程序体太长,造成可读性不强和没有移植性,和不够结构化。跳过这一段乏味的代码,进入到下面一个部分---后处理。
 if (gz_log) gzclose(gzlog_fp);
  else if (log_fname) fclose(log_fp);
if (good_rec) /* were any good records? */
  {
  tm_site[cur_day-1]=dt_site; /* If yes, clean up a bit */
  tm_visit[cur_day-1]=tot_visit(sd_htab);
  t_visit=tot_visit(sm_htab);
  if (ht_hit > mh_hit) mh_hit = ht_hit;
if (total_rec > (total_ignore+total_bad)) /* did we process any? */
  {
   if (incremental)
   {
    if (save_state()) /* incremental stuff */
    {
     /* Error: Unable to save current run data */
     if (verbose) fprintf(stderr,"%s ",msg_data_err);
     unlink(state_fname);
    }
   }
   month_update_exit(rec_tstamp); /* calculate exit pages */
   write_month_html(); /* write monthly HTML file */
   write_main_index(); /* write main HTML file */
   put_history(); /* write history */
  }
end_time = times(&mytms); /* display timing totals? */
  if (time_me' '(verbose>1))
  {
   printf("%lu %s ",total_rec, msg_records);
   if (total_ignore)
   {
    printf("(%lu %s",total_ignore,msg_ignored);
    if (total_bad) printf(", %lu %s) ",total_bad,msg_bad);
     else printf(") ");
   }
   else if (total_bad) printf("(%lu %s) ",total_bad,msg_bad);
/* get processing time (end-start) */
   temp_time = (float)(end_time-start_time)/CLK_TCK;
   printf("%s %.2f %s", msg_in, temp_time, msg_seconds);
/* calculate records per second */
   if (temp_time)
    i=( (int)( (float)total_rec/temp_time ) );
   else i=0;
if ( (i>0) && (i<=total_rec) ) printf(", %d/sec ", i);
    else printf(" ");
  }

Tags:如何 阅读 源代码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接