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

Форум PHP

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

 

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

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

тема: При обучении программированию какой минимальный объём обязателен к запоминанию
 
 автор: Владимир55   (16.11.2006 в 11:43)   письмо автору
 
 

В арсенале рнр очень много всяких функций и они запоминаются и осваиваются мною довольно медленно. Скажите, а вы в повседневной работе используете весь пакет рнр полностью? Или по мере накопления опыта образуется некий не слишком большой перечень операторов, для использования которых достаточно спинного мозга? Если это так, то какой примерно объем знаний достаточен для вашей текущей работы?

   
 
 автор: vov4ik   (16.11.2006 в 12:09)   письмо автору
 
   для: Владимир55   (16.11.2006 в 11:43)
 

Все зависит от решаемой задачи...

   
 
 автор: elenaki   (16.11.2006 в 12:09)   письмо автору
 
   для: Владимир55   (16.11.2006 в 11:43)
 

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

   
 
 автор: mishaMC   (16.11.2006 в 12:15)   письмо автору
 
   для: Владимир55   (16.11.2006 в 11:43)
 

Пока вы не будете использовать какие-либо функции, вы их не запомните. А для их напоминания и поиска и существуют мануалы. Сколько раз замечал, что зачастую тех.литературу читаешь "в стол". То есть когда доходит до решения конкретной задачи, вспомнить решение невозможно, зато есть знание, о том, что такая задача решима конкретным языком.

   
 
 автор: cheops   (16.11.2006 в 13:06)   письмо автору
 
   для: Владимир55   (16.11.2006 в 11:43)
 

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

PS Почему, кстати, язык C++ и считается самым сложным - там дикое количество конструкций языка (программисты зачастую работают с подмножеством C++, а уж функции многочисленных библиотек просто не реально запомнить).

   
 
 автор: Trianon   (16.11.2006 в 13:20)   письмо автору
 
   для: cheops   (16.11.2006 в 13:06)
 

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


<?php require_once('config.inc.php');
$f get_defined_functions();
$f $f['internal'];
foreach(
$f as $p) if($fun[$p] = 0);
unset(
$f);

foreach(
glob('*.php') as $fnm)
{
$r token_get_all(file_get_contents($fnm));
echo 
"$fnm<br />";

foreach(
$r as $v)
  if(
is_array($v) &&  $v[0] == T_STRING && isset($fun[$nm strtolower($v[1])]))
            ++
$fun[$nm];
}
arsort($fun);
echo 
"<hr />";
foreach(
$fun as $name => $cnt)
   if(
$cnt)
       echo 
"$name - $cnt<br />\r\n";

?>

Может кого заинтересует :)

   
 
 автор: Владимир55   (16.11.2006 в 14:18)   письмо автору
 
   для: Trianon   (16.11.2006 в 13:20)
 

Что-то у меня этот скрипт ничего не показал...

Похоже, что число функций в моем арсенале меньше нуля.

   
 
 автор: Trianon   (16.11.2006 в 14:23)   письмо автору
 
   для: Trianon   (16.11.2006 в 13:20)
 

пардон.
require_once('config.inc.php'); - тут явно лишний. Случайно остался.

   
 
 автор: elenaki   (16.11.2006 в 14:27)   письмо автору
 
   для: Trianon   (16.11.2006 в 14:23)
 

stripslashes - 176
mysql_query - 146
mysql_error - 100
mysql_fetch_array - 99
mysql_num_rows - 21
date - 20
session_start - 17
header - 15
str_replace - 12
mysql_result - 8
count - 8
trim - 8
sizeof - 7
strtolower - 7
mktime - 6
eregi - 6
split - 5
explode - 5
fclose - 4
each - 4
session_id - 3
substr - 3
ini_set - 3
strftime - 3
htmlspecialchars - 3
fopen - 3
time - 2
preg_match - 2
array_reverse - 2
sort - 2
flock - 2
file - 2
printf - 2
fputs - 2
reset - 2
mail - 2
extract - 2
nl2br - 2
feof - 2
fgets - 2
mysql_escape_string - 2
parse_url - 2
floor - 2
preg_replace - 1
intval - 1
ceil - 1
natsort - 1
is_array - 1
md5 - 1
token_get_all - 1
glob - 1
arsort - 1
is_writable - 1
round - 1
ereg_replace - 1
mysql_select_db - 1
ereg - 1
fsockopen - 1
addslashes - 1
session_destroy - 1
session_is_registered - 1
mysql_numrows - 1
get_defined_functions - 1
unserialize - 1
mysql_connect - 1
join - 1
file_get_contents - 1
serialize - 1
fwrite - 1
strlen - 1

   
 
 автор: elenaki   (16.11.2006 в 14:29)   письмо автору
 
   для: elenaki   (16.11.2006 в 14:27)
 

в админском модуле побольше будет (это без учета вложенных папок).
прикольный скрипт :)

mysql_query - 665
stripslashes - 583
mysql_error - 566
addslashes - 484
mysql_fetch_array - 234
substr - 190
strval - 166
str_replace - 149
mysql_num_rows - 147
session_start - 121
time - 103
session_id - 102
mysql_result - 75
strftime - 50
explode - 43
trim - 41
date - 38
sizeof - 36
fclose - 35
fopen - 35
mktime - 35
header - 30
ceil - 30
flock - 29
mysql_numrows - 24
urldecode - 22
fputs - 20
file - 20
set_time_limit - 19
ini_set - 18
copy - 17
printf - 16
filesize - 14
round - 14
fread - 14
fflush - 11
strtolower - 11
mysql_fetch_row - 10
mysql_affected_rows - 10
ereg - 10
strlen - 9
count - 9
htmlspecialchars - 6
implode - 6
nl2br - 6
ftruncate - 6
file_get_contents - 4
each - 4
ob_start - 3
ob_end_flush - 3
reset - 2
unlink - 2
split - 2
file_exists - 2
chmod - 2
chr - 2
error_reporting - 2
mysql_escape_string - 2
is_file - 2
compact - 1
fwrite - 1
setcookie - 1
get_defined_functions - 1
move_uploaded_file - 1
mysql_select_db - 1
arsort - 1
is_array - 1
chop - 1
session_destroy - 1
session_unset - 1
getcwd - 1
mysql_connect - 1
token_get_all - 1
eregi - 1
glob - 1
md5 - 1

   
 
 автор: Trianon   (16.11.2006 в 16:05)   письмо автору
 
   для: elenaki   (16.11.2006 в 14:29)
 

Когда stripslashes лидирует, и при этом нет ни одного get_magic_quotes_gpc - это страшно.

   
 
 автор: Владимир55   (16.11.2006 в 14:54)   письмо автору
 
   для: Trianon   (16.11.2006 в 14:23)
 

У меня и после корректировки тишина... Разве что вверху экрана появилась полосочка.

У меня рнр версии 4.4.4 Может в этом причина?

   
 
 автор: elenaki   (16.11.2006 в 14:55)   письмо автору
 
   для: Владимир55   (16.11.2006 в 14:54)
 

до полоски должен быть список файлов, после - список функций.

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

   
 
 автор: Loki   (16.11.2006 в 15:15)   письмо автору
 
   для: Trianon   (16.11.2006 в 13:20)
 

Конец я бы написал так:
<?
$total
=0;
$sum=0;
foreach(
$fun as $name => $cnt
   if(
$cnt
   {
       echo 
"$name - $cnt<br />\r\n"
       
$total++;
       
$sum+=$cnt;
   }
echo 
"<hr />";
echo 
"Всего использовано функций: ".$total;
echo 
"<br>Среднее использование одной функции: ".$sum/$total;


Можно еще ее сделать рекурсивной, но в глубине лежат всякие смарти, майадмины и прочая лабуда:)

   
 
 автор: Trianon   (16.11.2006 в 16:07)   письмо автору
 
   для: Loki   (16.11.2006 в 15:15)
 

Её нужно сделать рекурсивной. Но мне стало лениво. А тут еще и работа навалилась полным бюстом.

   
 
 автор: Temnovit   (16.11.2006 в 16:31)   письмо автору
 
   для: Владимир55   (16.11.2006 в 11:43)
 

Я делаю так. Читаю весь мануал подряд и пытаюсь понять для чего каждая из функций. Конечно ничего я не запоминаю, но когда дело доходит до реальной проблемы, я уже могу вспомнить, что "что-то такое там было" и могу поискать по подробнее.

Другими словами, нужно какие функции существуют, а запоминать их синтаксис, никаких мозгов не хватит :)

   
 
 автор: Poison   (16.11.2006 в 20:49)   письмо автору
 
   для: Temnovit   (16.11.2006 в 16:31)
 

Да ето точно=)) все запомнить функции моск сломаешь:D Да и зубрить их ето не выход=) Они запомняться сами по себе со временем ( если конечно будеш ими пользоваться )

   
 
 автор: cheops   (16.11.2006 в 23:53)   письмо автору
 
   для: Temnovit   (16.11.2006 в 16:31)
 

>Читаю весь мануал подряд и пытаюсь понять для чего каждая из функций.
Кстати, говоря также действую, и все более или мене успешные программисты действуют точно также... Обычно изучение языка сводится к изучению его возможностей - на что он способен, детали извлекаются из справочной литературы по мере надобности. Правда для такой тактики нужно знать более одного языка, т.е. если язык PHP, первый то его библиотеку следует изучить более скрупулёзно.

   
Rambler's Top100
вверх

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