Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (3) 1 [2] 3  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Тестовое задание, Наставьте на путь истинный...
DragonNoir  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 47
Пользователь №: 42691
На форуме: 8 месяцев, 22 дня
Карма: 2




Цитата (Oyeme @ 23.03.2016 - 18:58)
Это показыает что "программист", очень низкого ранга и плохо учился в школе.


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


--------------------
- Сколько тебе надо времени на задачу?
- Месяц.
- А если дам тебе помощника?
- Тогда два месяца.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 3 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 13 дней


Цитата (DragonNoir @ 23.03.2016 - 15:06)
В ТЗ есть требование логировать ошибки. Как вы без эксепшена отловите ошибку на стороне мускуля, например, в случае неправильного запроса?
Ну как бы у него это решено. Кривенько, но решено. А отлова штатных эксепшенов mysqli_ я в задании не вижу.

Цитата (DragonNoir @ 23.03.2016 - 15:06)
Архитектура. Какой тогда вообще смысл использовать классы, если не понимаешь их назначения?
В задании писалось про один класс. Какая тут архитектура? Зачем советовать ему разбивать это на несколько классов?

Цитата (DragonNoir @ 23.03.2016 - 15:06)
Т.е. вы не знаете разницы между include и require? Первый в случае ошибки в подключаемом файле выдаст notice и скрипт продолжит работу, а второй выкидывает fatal

Я знаю, потому и не понял совета. Для чего там фатал?


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Oyeme  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Reality is wrong. Dreams are for real
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1674
Пользователь №: 16955
На форуме: 7 лет, 9 месяцев, 11 дней
Карма: 94




Цитата
Ну он же не в Англии.  smile.gif Вообще английский язык есть нескольких типов. Тебе ли не знать. Международный английский первым принципом имеет понятность, а не лингвистическую изысканность. Эта фраза:


Ваш идеальный кандидат должен вообще не знать ООП, использовать процедурный стиль программирования и минимум знать английский язык.

А на работу его должны взять сразу,а не по дурацким тестам.

Но с таким подходом его ждет макдональдс.

В 99.99% то что я упомянул отпугнет в любой стране мира (если компания хорошего уровня , а не говно-контора)


--------------------
Programming: Private lessons via skype £45/h

Частные уроки в Лондоне / удаленно по skype.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 3 дня
Карма: 40




Oyeme, я бы не акцентировал внимания на английском языке, мне вообще кажется, если компания работает на российском рынке и программисты русские, то нужно писать всю документацию на русском, че из себя корчить достоподченых сэров, всё равно выйдут Васи из соседнего двора biggrin.gif


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

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 3 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 13 дней


Цитата (Oyeme @ 23.03.2016 - 15:22)
Ваш идеальный кандидат должен вообще не знать ООП, использовать процедурный стиль программирования и минимум знать английский язык.

Почти так. Только не
Цитата
должен вообще не знать ООП, использовать процедурный стиль программирования
а совсем не обязательно. Ибо ООП вообще никто не знает. А английского вполне достаточно технического, ну или лучше международного. Чтобы разбираться в алгоритмах, не обязательно уметь читать Шекспира в подлиннике.

Цитата (Oyeme @ 23.03.2016 - 15:22)
А на работе его должны взять сразу,а не по дурацким тестам

Не сразу, а после собеседования.
Цитата (Oyeme @ 23.03.2016 - 15:22)
Но с таким подходом его ждет макдональдс.

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

По твоему пусть он не знает принципов обработки данных для запроса, но должен наизусть процитировать отрывок из Макбе́т

Цитата (Oyeme @ 23.03.2016 - 15:22)
В 99.99% то что я упомянул отпугнет в любой стране мира (если компания хорошего уровня , а не говно-контора)

Да спустись уже с небес. Уровень он определяет. По такому принципу 99,99% контор в России - говноконторы. Я не буду патриотично спорить, но факт в том, что у нас (а он наверняка не в Англию устраивается) почти везде на чистоту английского языка плюют с пизанской башни.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
DragonNoir  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 47
Пользователь №: 42691
На форуме: 8 месяцев, 22 дня
Карма: 2




Хоть это уже и оффтоп, но все же отвечу

Цитата (twin @ 23.03.2016 - 19:15)
А отлова штатных эксепшенов mysqli_ я в задании не вижу

А эксепшн это не ошибка? Тоже ошибка, только с фатальным уровнем критичности. Скрипт, как бы хорошо или плохо но не был написан, не должен отваливаться. Он должен отработать до конца.


Цитата (twin @ 23.03.2016 - 19:15)
В задании писалось про один класс. Какая тут архитектура? Зачем советовать ему разбивать это на несколько классов?

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

Цитата (twin @ 23.03.2016 - 19:15)
Для чего там фатал?

В подавляющем большинстве случаев нотисы игнорят, а потом убивают кучу времени на поиск ошибок. Это был просто совет начинать прививать привычку, которая потом может сэкономить кучу времени и нервов.


--------------------
- Сколько тебе надо времени на задачу?
- Месяц.
- А если дам тебе помощника?
- Тогда два месяца.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 3 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 13 дней


Цитата (DragonNoir @ 23.03.2016 - 15:34)
А эксепшн это не ошибка? Тоже ошибка, только с фатальным уровнем критичности. Скрипт, как бы хорошо или плохо но не был написан, не должен отваливаться. Он должен отработать до конца.

Ты не понял. Если класс выкинет эксепшен, ловить его нужно за пределами класса. А значит это не входит в задание.

Цитата (DragonNoir @ 23.03.2016 - 15:34)
Как я раньше говорил, одной из целей тестового задания является определение того, анализирует ли человек задачу, думает ли о дальнейшей поддержке кода или действует по принципу "написал и забыл". А разбить на несколько классов стоит хотя бы из-за принципа единичной ответственности класса.

Ну тут соглашусь с натяжкой. С натяжкой, потому что в данном контексте он четко выполнил требования. А вынеся логер в отдельный класс он нарушит принцип YAGNI. Вот потому и хрень это - тесты. При живом собеседовании это можно сразу рассказать.

Цитата (DragonNoir @ 23.03.2016 - 15:34)
В подавляющем большинстве случаев нотисы игнорят, а потом убивают кучу времени на поиск ошибок. Это был просто совет начинать прививать привычку, которая потом может сэкономить кучу времени и нервов.

Это лечение следствия, а не причины. Зачем игнорить нотисы, да еще и способствовать этому? Да и еще, для чего юзеру белый лист или ошибка? Можно же выдать заглушку или еще как обработать. Убить скрипт ума много не надо. smile.gif Сам же сказал:
Цитата
Скрипт, как бы хорошо или плохо но не был написан, не должен отваливаться. Он должен отработать до конца


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22693
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 29 дней
Карма: 599




macheninarctica
Ну так пиши комментарии на русском.
И ты придумал как ты будешь пользоваться этим классом внутри функций и других классов?

config.php – конфигурационный файл. В нем в массив $GLOBALS заносятся параметры
подключения (хост, логин, пароль) и имя БД.
Тут где-то было слово про файл, куда записываем? Нет. Ты нарушил условие.

mysql.php – собственно, класс работы с БД. 3 функции:
3 функции, у тебя 4. Зачем тебе подключение к БД отдельно?! Опять нарушил условие.

$user = new DataBaseSelector($host, $login, $password, $db_name,$filename);

$user ? При чём тут вообще пользователь, когда это соединение с Базой Данных, где дальше будут РАЗНЫЕ ЗАПРОСЫ, не только для получения пользователя. Или ты хотел отдельные экземляры класса делать под разные запросы? Если да, то ты создашь сотни соединений с Базой Данных, чем навлек на себя ещё больше ненависти.

$user->connect_db();

Это говорит лишь о том, что ты ПЕРВЫЙ РАЗ работаешь с mysqli в этом тестовом задании. В MySQLi класс ты передал 4 параметра в __construct, там и была передана База Данных, то есть ты уже выбрал Базу Данных. А потом ЕЩЁ РАЗ выбирать? 2 действия говорят о том, что ты впервые воспользовался и не до конца прочитал мануал по MySQLI.

Далее в вызове запроса ты передаёшь: $db_name. А как возможно быть ДРУГОЕ имя, если ты переключать можешь ТОЛЬКО через connect_db, который изменит во всём экземпляре. Итого я могу сделать выводы, что ты запутался в своём коде.

Выводы:
- Неправильно интерпретировал задание, нарушил задание, сделал как хочет, а не как требуется.
- Запутался в работе с Базой Данных. Дважды подключался к Базе Данных.
- Запутался в работе с классом. Передаёшь параметры, которые не нужны.
- В файле не прописал уровень вывода ошибок и кодировку.
- db_request не вернул ничего, в связи с этим пошла цепочка ошибок, ведь скрипт не был остановлен, но при этом ничего и не вернул.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 3 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 13 дней


Цитата (inpost @ 23.03.2016 - 15:53)
Далее в вызове запроса ты передаёшь: $db_name. А как возможно быть ДРУГОЕ имя, если ты переключать можешь ТОЛЬКО через connect_db, который изменит во всём экземпляре. Итого я могу сделать выводы, что ты запутался в своём коде.

Это не так. В условиях был выбор базы данных. Что он и реализовал. Посмотри внимательно код. Криво - да. Конечно, приватным этот метод делать было не надо, да и второй параметр у метода запроса - моветон. Выбор нужно было делать снаружи. Но вобщем то он ничего не нарушил и никаких там двух подключенй нет.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
macheninarctica  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 8
Пользователь №: 42182
На форуме: 1 год, 4 дня
Карма:




Так.. должность была помощник программиста.)))) так что не думайте что я там супер спец.. прогаю от силы 2 месяца в общей сложности после работы.. и в основном для своего удовольствия. ну и сделал сайт с админкой. вот все мои достижения.
НО спасибо за комментарии.. особенно которые по делу.. интересно послушать чужое мнение..
P. S. с английским беда, в школе его практически не было)))
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 3 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 13 дней


macheninarctica
Перепиши класс согласно советам и выложи новую версию. Узнаешь еще много нового. smile.gif


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SerginhoLD  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



че?
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 705
Пользователь №: 24500
На форуме: 6 лет, 1 месяц, 14 дней
Карма: 50




Цитата (macheninarctica @ 23.03.2016 - 10:27)
Задача:
Написать класс работы с MySQL с отдельными функциями подключения к MySQL-
серверу, выбора БД, выполнения запроса. В файле log.txt должен вестись лог запросов и
ошибок.

Цитата (macheninarctica @ 23.03.2016 - 10:27)
class DataBaseSelector extends Mysqli

как бы если используется Mysqli то половину вообще писать не надо..
Конструктор есть, выбор/смена бд есть, запрос есть. Только лог прикрутить и все.

тут мне кажется заданием подразумевается новый класс, не наследуемый от чего либо


--------------------
"internet explorer всех правильней отображает страницы" ©
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22693
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 29 дней
Карма: 599




twin
Там передавать подразумевалось как входящий аргумент, а не отдельный метод пилить. Перечень методов названо ниже по документации. Имелось ввиду в методы подключения (указанном первым) и надо было передавать имя Базы Данных.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 3 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 13 дней


Цитата (inpost @ 23.03.2016 - 18:43)
Там передавать подразумевалось как входящий аргумент, а не отдельный метод пилить

Ну как то вроде нет))) Вот:
Цитата
с отдельными функциями подключения к MySQL-
серверу, выбора БД, выполнения запроса.
через запятую, значит отдельным методом. Ниже этого нет, но это уже к вопросу компеенции автора теста, на что уже chee указал. smile.gif Либо детали реализации, это уже пояснения ТС.

Но я собственно не о том, а об этом:
Цитата (inpost @ 23.03.2016 - 15:53)
Запутался в работе с Базой Данных. Дважды подключался к Базе Данных.
Нет там двух подключений.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22693
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 29 дней
Карма: 599






--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (3) 1 [2] 3  Ответ в темуСоздание новой темыСоздание опроса