Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обсуждение задачи N 3
 
 автор: cheops   (05.02.2006 в 23:02)   письмо автору
 
 

В этой теме выкладываем свои оценки.

   
 
 автор: Artem S.   (06.02.2006 в 00:35)   письмо автору
 
   для: cheops   (05.02.2006 в 23:02)
 

Извените но я выдахся, спать хочу. Завтра вечером продолжу, если меня сильно не обругают за то, что я написал. С оценками тоже завтра.

   
 
 автор: cheops   (06.02.2006 в 00:50)   письмо автору
 
   для: Artem S.   (06.02.2006 в 00:35)
 

Да уж не барский труд :))), тоже устал.

   
 
 автор: cheops   (06.02.2006 в 00:48)   письмо автору
 
   для: cheops   (05.02.2006 в 23:02)
 

Оценки ставил по следующей методе: читаемость от 0 до 5, токостей сколько начитаю, оригинальность в зависимости от субъективной оценки, но всем у кого были критические ошибки, не позволяющие запустить скрипт или те скрипты которые сыпались на простейших датах - поставил кол :)))
 N   чит тонкс оригн
001   3    3     5
002   2    0     1
003   2    3     1
004   4    3     4
005   5    2     5
006   5    2     4
007   4    1     1
008   5    3     1
009   5    1     1
010   3    3     1
011   5    2     4
012   2    4     1

тонкости
001 (1) проверка на существ. файла, (2) балла поставил за проверку даты - очень оригинальная
002 0
003 (1) использование блокировки, (1) проверка даты (правда со сбоем), (1) проверка на существ. файла
004 (1) использование блокировки, (1) проверка даты, (1) проверка на существ. файла
005 (1) используется хэш - не понял зачем, но понравилось :))), (1) проверка на существ. файла
006 (1) проверка даты, (1) проверка на существ. файла
007 (1) проверка даты
008 (1) используется выпадающий список, один конечно, но уже хорошо :))), (1) используется UNIXSTAMP, (1) проверка на существ. файла
009 (1) проверка на существ. файла
010 (1) использование блокировки, (1) проверка даты, (1) проверка на существ. файла
011 (1) использование блокировки, (1) проверка на существ. файла
012 (1) использование выпадающих списков (очень понравилось - единственный скрипт, где полностью идея реализована), (1) использование блокировки, (1) проверка даты, (1) проверка на существ. файла

PS Общее заключение: вавилонский синдром :))) - если представить, что скрипты будут обратывать один файл date.txt - наступит колапас, так как каждый использует свой уникальный формат - хотя для отрасли стандартом является UNIXSTAMP - число секунд прошедших с 1 января 1970 года - оно позовляет произвольно складывать и вычитать даты, осуществлять вывод с любым форматированием, компактно в хранении.
Так же не используются выпадающие списки - они позволяют значительно повысить юзабилити скрипта, пользователь не будет ошибаться и даже если в скрипте имеются глюки - у него большой шанс никогда не узнать об их существоании.
PPS Одним из достоинствов скриптов является их компактность - чем короче код, тем меньше вероятность совершить в нём ошибку, так как плотность ошибок не зависит от кода, а зависит лишь от квалификации программиста.
К скрипту 005 это не относится - код в нём слишком хитрый - это тоже плохо, необходимо ломать голову перед тем как его понять, а это время и деньги. Код читаться должен без усилий.

   
 
 автор: Artem S.   (06.02.2006 в 19:44)   письмо автору
 
   для: cheops   (06.02.2006 в 00:48)
 

Я схалтурил и скрипты не запускал, так что за оригн не знаю что ставить и как оценивать. Решил ставить за отсутствие лишних строк кода, не нужных операций ну и лишних действий в целом.

 N   чит тонкс оригн
001   3    2     3
002   2    0     1
003   3    3     2
004   4    3     4
005   4    1     3
006   5    2     4
007   4    3     4
008   5    2     4
009   4    1     2
010   4    4     2
011   5    2     4
012   2    3     1
013   4    1     2

Тонкости.
(001) - (1) Проверка на существование файла. (1) Проверка даты.
(003) - (1) Проверка на существование файла. (1) Блокировка файла. (1) Проверка даты.
(004) - (1) Проверка на существование файла. (1) Блокировка файла. (1) Проверка даты.
(005) - (1) Проверка на существование файла.
(006) - (1) Проверка на существование файла. (1) Проверка даты.
(007) - (2) Проверка на существование файла. + is_readable. (1) Проверка даты.
(008) - (1) Проверка на существование файла. (1) Выпадающий список.
(009) - (1) Проверка даты.
(010) - (1) Проверка на существование файла. (1) за getdate и checkdate (1) Блокировка файла. (1)
Проверка даты.
(011) - (1) Проверка на существование файла. (1) Блокировка файла.
(012) - (1) Проверка на существование файла. (1) Блокировка файла. (1) Проверка даты.
(013) - (1) Проверка даты.

Некоторые скрипты страдали излишними проверками. Лишний код - возможность случайной ошибки. Об остальном я сказал в темах.



P.S. прошу вернуть баллы 8 и 9 баллы за ориг. это ошибка формы а не авторов :)

   
 
 автор: cheops   (06.02.2006 в 21:11)   письмо автору
 
   для: Artem S.   (06.02.2006 в 19:44)
 

>P.S. прошу вернуть баллы 8 и 9 баллы за ориг. это ошибка формы а не авторов :)
Будем считать не действительными оценки за оригинальность в этой задаче, так как неэкронированный кавычки могли много кому подсуропить...

   
 
 автор: cheops   (06.02.2006 в 13:23)   письмо автору
 
   для: cheops   (05.02.2006 в 23:02)
 

013 5 1 1

Хорошо читаемый код, однако не осуществляется корректно проверка существования файла, дата хранится не в UNIXSTAMP формате и не используются выпадающие списки.

   
 
 автор: Trianon   (08.02.2006 в 19:39)   письмо автору
 
   для: cheops   (05.02.2006 в 23:02)
 

Интересно, был ли хотя бы один вариант, который не применял эту весьма спорную функцию date() для преобразования таймштампа в человечий вид?

   
 
 автор: Axxil   (08.02.2006 в 19:47)   письмо автору
 
   для: Trianon   (08.02.2006 в 19:39)
 

А в чём заключается спорность функции date?

   
 
 автор: Trianon   (08.02.2006 в 19:57)   письмо автору
 
   для: Axxil   (08.02.2006 в 19:47)
 

На мой взгляд, то преобразование, которое эта функция выполняет, в большинстве случаев следует делать не на серверной, а на клиентской стороне. Иначе невозможно приемлемо учесть местные правила счета времени (пояса, переходы летнего времени) Локаль клиента, короче.

   
 
 автор: Artem S.   (08.02.2006 в 20:06)   письмо автору
 
   для: Trianon   (08.02.2006 в 19:57)
 

А вы задумывались как серверный язык может узнать время на машине клиента? к тому же в задаче надо было не допустить пустых дат.

   
 
 автор: Trianon   (08.02.2006 в 20:20)   письмо автору
 
   для: Artem S.   (08.02.2006 в 20:06)
 

Задумывался. Плод раздумий, чтоб обсуждение исходниками не загромождать, убрал в отдельную ветвь.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования