Jump to content

Вопрос программистам


Xenia Wanger
 Share

Recommended Posts

Возьмем к примеру проект, в котором участвуют 3 человека - дизайнер, верстальщик и программист. Итак, вопрос программистам - когда вам передают верстку, вы как-то ее переделываете под себя, изменяете код, по-другому переверстываете какие-то блоки или же работаете именно с тем, что вам предоставили?

Link to comment
Share on other sites

Возьмем к примеру проект, в котором участвуют 3 человека - дизайнер, верстальщик и программист. Итак, вопрос программистам - когда вам передают верстку, вы как-то ее переделываете под себя, изменяете код, по-другому переверстываете какие-то блоки или же работаете именно с тем, что вам предоставили?

Внимание вопрос - Зачем программисту что-то переверстывать, если для этого есть верстальщик?

Link to comment
Share on other sites

 

Возьмем к примеру проект, в котором участвуют 3 человека - дизайнер, верстальщик и программист. Итак, вопрос программистам - когда вам передают верстку, вы как-то ее переделываете под себя, изменяете код, по-другому переверстываете какие-то блоки или же работаете именно с тем, что вам предоставили?

Внимание вопрос - Зачем программисту что-то переверстывать, если для этого есть верстальщик?

 

 

Неспроста задаю вопрос этот, потому как сама думаю зачем программисту что-то переверстывать. Но вот столкнулась с такой проблемой, что готовую верстку программист сидит и полностью переделывает.

Я не спорю, что верстка может быть не идеальной, и быть может есть какие-то недочеты, НО все работает, все открывается все так, как должно быть.

 

 

 

вы как-то ее переделываете под себя

как-то переделываем :)

 

 

Тогда вопрос - зачем держать верстальщика? И чем проще если что-то не нравится подойти к верстальщику и объяснить что нужно переделать?

И каковы причины переверстывания? Это уже исключительный случай, когда совсем все плохо в коде или это в порядке вещей?

Link to comment
Share on other sites

девушка, вы сами отвечаете на свои вопросы)

 

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

Edited by cyklop77
Link to comment
Share on other sites

Неспроста задаю вопрос этот, потому как сама думаю зачем программисту что-то переверстывать. Но вот столкнулась с такой проблемой, что готовую верстку программист сидит и полностью переделывает.

Я не спорю, что верстка может быть не идеальной, и быть может есть какие-то недочеты, НО все работает, все открывается все так, как должно быть.

Купите ему печенек и поблагодарите за помощь. Заодно узнаете в чем причина рефакторинга. Не забывайте улыбаться - это всх раздражает.

По сабжу: программист привязывает итоговую верстку к шаблонизатору.

Ps и нам расскажите, чем кончилась эта история :3

Edited by Radiocity
  • Like 1
Link to comment
Share on other sites

Неспроста задаю вопрос этот, потому как сама думаю зачем программисту что-то переверстывать. Но вот столкнулась с такой проблемой, что готовую верстку программист сидит и полностью переделывает. Я не спорю, что верстка может быть не идеальной, и быть может есть какие-то недочеты, НО все работает, все открывается все так, как должно быть.

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

Edited by wwt
Link to comment
Share on other sites

 

Неспроста задаю вопрос этот, потому как сама думаю зачем программисту что-то переверстывать. Но вот столкнулась с такой проблемой, что готовую верстку программист сидит и полностью переделывает. Я не спорю, что верстка может быть не идеальной, и быть может есть какие-то недочеты, НО все работает, все открывается все так, как должно быть.

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

 

 

Именно переверстывает. Не с нуля конечно начиная с <html></html>, но от исходной верстки практически ничего  не осталось.

 

 

девушка, вы сами отвечаете на свои вопросы)

 

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

 

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

 

Просто хочется понять, что же в работе с веб-страницами нормально, а что нет. Как себя вести в серьезной организации)

  • Like 1
Link to comment
Share on other sites

А спросить, что его в вёрстке не устроило?

 

Но, если ни одно звено не говорит о том, что его не устроило в работе предыдущего, то это говорит о проблемах в организации работы и взаимоотношений сотрудников.

Link to comment
Share on other sites

А спросить, что его в вёрстке не устроило?

 

Но, если ни одно звено не говорит о том, что его не устроило в работе предыдущего, то это говорит о проблемах в организации работы и взаимоотношений сотрудников.

 

Он сидит сам делает и говорит, вот так правильнее. То есть не подходит и не обсуждает это с верстальщиком.

Link to comment
Share on other sites

 

А спросить, что его в вёрстке не устроило?

 

Но, если ни одно звено не говорит о том, что его не устроило в работе предыдущего, то это говорит о проблемах в организации работы и взаимоотношений сотрудников.

 

Он сидит сам делает и говорит, вот так правильнее. То есть не подходит и не обсуждает это с верстальщиком.

 

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

Link to comment
Share on other sites

 

 

А спросить, что его в вёрстке не устроило?

 

Но, если ни одно звено не говорит о том, что его не устроило в работе предыдущего, то это говорит о проблемах в организации работы и взаимоотношений сотрудников.

 

Он сидит сам делает и говорит, вот так правильнее. То есть не подходит и не обсуждает это с верстальщиком.

 

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

 

 

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

Link to comment
Share on other sites

Он сидит сам делает и говорит, вот так правильнее. То есть не подходит и не обсуждает это с верстальщиком.

 

Если так - то это сугубо его личные проблемы) данная работа не будет оплачиваться, так как верстальщик - верстает

 

Другое дело если ему это нужно для более упорядоченной и простой привязки к CMS

 

Того самого бедного верстальщика

 

Может у вас опыта мало и он хочет сделать как лучше?  =)  не стоит так критично относится. верстку в студию

 

 

Тогда вопрос - зачем держать верстальщика?

 

верстальщик нужен. каждый занимается своим делом - как на конвеере.  может он просто цену набивает? 

Link to comment
Share on other sites

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

 

А процесс сдачи верстки как происходит? Просто взяли и отдали или через какую-то систему постановки задач?

Ну а вообще ситуация не слишком здоровская. Пытать программиста, чтобы он ясно пояснил, чем его решение лучше и почему текущее его не устраивает. Если критика здравая - исправлять косяки.

Но вообще, если программиста не устраивает верстка, то он должен вернуть её верстальщику с перечнем для исправления. Иначе он впустую пережигает ресурсы компании и занимается не своим делом.

Link to comment
Share on other sites

Может у вас опыта мало и он хочет сделать как лучше?  =)  не стоит так критично относится. верстку в студию

 

 

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

 

UPD: на счет "верстки в студию" в ближайшее время кину в соответствующий раздел ;)

 

 

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

 

А процесс сдачи верстки как происходит? Просто взяли и отдали или через какую-то систему постановки задач?

Ну а вообще ситуация не слишком здоровская. Пытать программиста, чтобы он ясно пояснил, чем его решение лучше и почему текущее его не устраивает. Если критика здравая - исправлять косяки.

Но вообще, если программиста не устраивает верстка, то он должен вернуть её верстальщику с перечнем для исправления. Иначе он впустую пережигает ресурсы компании и занимается не своим делом.

 

 

Сдается все до безумия просто. Я показываю верстку начальнику, он сравнивает в браузере верстку и макет, чтобы было все похоже, и все) Если похоже - сдала, если не похоже - доделываю, чтобы было похоже. Ну и потом верстка передается программисту

Edited by Xenia Wanger
Link to comment
Share on other sites

а начальник имеет какое-нибудь отношение в веб-технологиям или просто управленец?..

 

Ну вообще, по его рассказам, он раньше один в отделе был, все делал сам. И вот недавно ему в помощь дали людей: копирайтеров, программиста, верстальщика и дизайнера

 

То есть по идее он должен неплохо так во всем этом разбираться

Edited by Xenia Wanger
Link to comment
Share on other sites

Правильно делать так, чтобы программист не видел вёрстку вообще никогда. Приделывать шаблоны к движку — дело верстальщика. Так что проблема в организации труда вообще.

  • Like 1
Link to comment
Share on other sites

У нас как то попроще. 

Даже когда я делаю фриланс. 

Сам я верстальщик, при получении макета сразу смотрю, и кидаю палки в дизайнера, если ерунду какую то нарисовал. Тогда или перерисовываем или делаем "почти такое же".

Дальше верстаю, отдаю программисту. Там девушка, она тоже смотрит и если ей что то не нравится, сразу говорит мне, я доделываю или переделываю. В осмотре макета дизайнера она тоже принимает участие, и если что тоже кидается.

Если программист что то может сама сверстать, то конечно меня не отвлекает, но это не полная переверстка) 

Вот это я считаю нормальным процессом. 

 

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

Link to comment
Share on other sites

Правильно делать так, чтобы программист не видел вёрстку вообще никогда. Приделывать шаблоны к движку — дело верстальщика. Так что проблема в организации труда вообще.

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

Edited by Zverushka
Link to comment
Share on other sites

Для CMS есть свои особенности. Поэтому чем быстрее вы начнете общаться с программистом, тем лучше будет ваш код и ему ничего(в идеале) не придется переделывать.

Опять таки у каждого порграммиста тоже есть свои особенности. Один не станет переделывать верстку, попытается вывести контент как это видел верстальщик. Другой начнет переделывать верстку под то как это выводит CMS. А CMS тоже не всегда хорошый код выдает, так как плагины к ней писали люди которые в свою очередь тоже все по-своему видели.

 

Поэтому вам надо сработаться с вашим дизайнером и программистом. Не искать по форумам ответ на вопрос "кто прав, кто виноват", а обговорить с программером какая структура ему нужна чтобы он потом не переделывал верстку.

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By zeiger2
      Здравствуйте! У меня стоит задача, что при наведении на блок li строка должна поменять цвет, в том числе и картинка. Я меняю картинку с помощью 
      background-image: none;     background: url(../img/check_icon_red.png) left no-repeat;   Но теперь картинка позицианируется не там где должна, её можно поставить на место только вручную, через -100px. Нужно поставить ровно туда, где она была. Должна быть в одном ряду с другими
    • By Mix9
      есть див с 5 img, при уменьшении экрана див выходит за него. Я добавил overflow: auto для этого div в надежде на то, что я смогу прокручивать фотки с помощью скроллбара, однако даже с ним почему-то я не вижу часть фоток которые вышли за границу. Что с этим можно сделать? класс video повторяется 5 раз, я тут оставил только 1 
      .content{ width: 90%; background-color: #333; } .video{ margin: 0px 4px 0px 4px; width: 310; display: flex; flex-direction:column; } .video_button_text{ margin-top: 10px; display: flex; flex-direction: row; font-size: 20px; color: white; } .video_text_div{ display: inline-block; width: 250px; } .video_text{ text-align: justify-all; margin: 0px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .slidan_videos{ margin: 0px 10px 0px 20px; overflow: auto; width: auto; margin-bottom: 50px; display: flex; flex-direction: row; justify-content: space-around; } <div class="content"> <div class = slidan_videos> <div class = video> <div> <a href = 'ссылка'><img class="img" src=""картинка"></a> </div> <div class = video_button_text> <div class = avatarka_div> <a href="ссылка" target="_blank"><img class = avatarka src="картинка"></a> </div> <div class = video_text_div> <p class = video_text><a href="ссылка">текст</a></p> </div> </div> </div>
    • By Марко
      Добрый день. Начинающий программист, столкнулся с проблемой. Селектор .class не работает должным образом. Несмотря на правильное, я надеюсь, описание, на web-странице не отображается ни одно изображение. С чем может быть связано? Заранее спасибо за помощь. 



    • By Kaido
      Использую готовый плагин для модальных окон(от MaxGraph). Проблема в том, что когда у меня открыто два модальных окна, для примера Форма + Политика конфендициальности, и мне нужно закрыть политику вместе с ней закрывается и другое модальное окно. В JS я не сильно разбираюсь(собственно из за этого и использую готовый плагин), можете помочь кто работал с этим плагином? Я примерно понимаю как он работает, но реализовать чтобы закрывалось только одно не получается.
       
        <div class="content"> <button class="modal-btn" data-path="first" data-animation="fadeInUp" data-speed="1500">Открыть окно 1</button> </div> <div class="modal"> <div class="modal__wrapp" data-target="first"> <div class="modal__content"> <button class="modal__close">Закрыть</button> модальное окно <button data-path="policy">Политика</button> </div> </div> <div class="modal__wrapp" data-target="policy"> <div class="modal__content"> <button class="modal__close">Закрыть</button> политика </div> </div> </div> .modal { --transition-time: 0.3s; position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 1000; cursor: pointer; overflow-y: auto; overflow-x: hidden; text-align: center; opacity: 0; visibility: hidden; transition: opacity var(--transition-time), visibility var(--transition-time); } .modal__wrapp { display: none; cursor: default; width: fit-content; height: fit-content; } .modal__content{ position: absolute; left: 500px; width: 500px; height: 500px; display: flex; color: white; flex-direction: column; text-align: left; background-color: #000; } .modal__content button{ width: 200px; height: 50px; margin: 50px 0; } .modal.is-open { opacity: 1; visibility: visible; transition: opacity var(--transition-time), visibility var(--transition-time); } .modal__wrapp.modal-open { display: flex; } .disable-scroll { position: relative; overflow: hidden; height: 100vh; position: fixed; left: 0; top: 0; width: 100%; } .fade { opacity: 0; transition: opacity var(--transition-time); } .fade.animate-open { opacity: 1; transition: opacity var(--transition-time); } .fadeInUp { opacity: 0; transform: translateY(vw(-100)); transition: opacity var(--transition-time), transform var(--transition-time); } .fadeInUp.animate-open { opacity: 1; transform: translateY(0); transition: opacity var(--transition-time), transform var(--transition-time); } .modal__wrapp[data-target="policy"] .modal__content{ left: 1050px; background-color: #000; opacity: .5; } class Modal { constructor(options) { let defaultOptions = { isOpen: () => {}, isClose: () => {}, } this.options = Object.assign(defaultOptions, options); this.modal = document.querySelector('.modal'); this.speed = false; this.animation = false; this.isOpen = false; this.modalContainer = false; this.previousActiveElement = false; this.fixBlocks = document.querySelectorAll('.fix-block'); this.focusElements = [ 'a[href]', 'input', 'button', 'select', 'textarea', '[tabindex]' ]; this.events(); } events() { if (this.modal) { document.addEventListener('click', function(e){ const clickedElement = e.target.closest('[data-path]'); if (clickedElement) { let target = clickedElement.dataset.path; let animation = clickedElement.dataset.animation; if (clickedElement.classList.contains('modal-close')) { this.close(); } let speed = clickedElement.dataset.speed; this.animation = animation ? animation : 'fade'; this.speed = speed ? parseInt(speed) : 300; this.modalContainer = document.querySelector(`[data-target="${target}"]`); this.open(); return; } if (e.target.closest('.modal__close')) { this.close(); return; } }.bind(this)); window.addEventListener('keydown', function(e) { if (e.keyCode == 27) { if (this.isOpen) { this.close(); } } if (e.keyCode == 9 && this.isOpen) { this.focusCatch(e); return; } }.bind(this)); this.modal.addEventListener('click', function(e) { if (!e.target.classList.contains('modal__wrapp') && !e.target.closest('.modal__wrapp') && this.isOpen) { this.close(); } }.bind(this)); } } open() { this.previousActiveElement = document.activeElement; this.modal.style.setProperty('--transition-time', `${this.speed / 1000}s`); this.modal.classList.add('is-open'); this.disableScroll(); this.modalContainer.classList.add('modal-open'); this.modalContainer.classList.add(this.animation); setTimeout(() => { this.options.isOpen(this); this.modalContainer.classList.add('animate-open'); this.isOpen = true; this.focusTrap(); }, this.speed); } close() { if (this.modalContainer) { this.modalContainer.classList.remove('animate-open'); this.modalContainer.classList.remove(this.animation); this.modal.classList.remove('is-open'); this.modalContainer.classList.remove('modal-open'); this.enableScroll(); this.options.isClose(this); this.isOpen = false; this.focusTrap(); } } focusCatch(e) { const focusable = this.modalContainer.querySelectorAll(this.focusElements); const focusArray = Array.prototype.slice.call(focusable); const focusedIndex = focusArray.indexOf(document.activeElement); if (e.shiftKey && focusedIndex === 0) { focusArray[focusArray.length - 1].focus(); e.preventDefault(); } if (!e.shiftKey && focusedIndex === focusArray.length - 1) { focusArray[0].focus(); e.preventDefault(); } } focusTrap() { const focusable = this.modalContainer.querySelectorAll(this.focusElements); if (this.isOpen) { focusable[0].focus(); } else { this.previousActiveElement.focus(); } } disableScroll() { let pagePosition = window.scrollY; this.lockPadding(); document.body.classList.add('disable-scroll'); document.body.dataset.position = pagePosition; document.body.style.top = -pagePosition + 'px'; } enableScroll() { let pagePosition = parseInt(document.body.dataset.position, 10); this.unlockPadding(); document.body.style.top = 'auto'; document.body.classList.remove('disable-scroll'); window.scroll({ top: pagePosition, left: 0 }); document.body.removeAttribute('data-position'); } lockPadding() { let paddingOffset = window.innerWidth - document.body.offsetWidth + 'px'; this.fixBlocks.forEach((el) => { el.style.paddingRight = paddingOffset; }); document.body.style.paddingRight = paddingOffset; } unlockPadding() { this.fixBlocks.forEach((el) => { el.style.paddingRight = '0px'; }); document.body.style.paddingRight = '0px'; } } const modal = new Modal({ isOpen: (modal) => { console.log(modal); console.log('opened'); }, isClose: () => { console.log('closed'); }, });  
    • By stasN1
      Мне нужен такой результат :

      Не понимаю почему background не применяется вокруг иконок:

       
      Сам код:
      Html:
      css:

      Html:
      <section class="finish"> <div class="container"> <h2 class="finish_header">По окончании обучения Вы сможете!</h2> <div class="finish_divider"></div> <div class="finish_wrapper"> <finish_item> <div class="finish_round"> <img src="/icons/finish/1 (1).png" alt="" class="finish_icon"> </div> <div class="finish_descr">Создать свой сайт или блог</div> </finish_item> <finish_item> <div class="finish_round"> <img src="/icons/finish/2.png" alt="" class="finish_icon"> </div> <div class="finish_descr">Создать свой сайт или блог</div> </finish_item> <finish_item> <div class="finish_round"> <img src="/icons/finish/3.png" alt="" class="finish_icon"> </div> <div class="finish_descr">Обеспечить ему медленный, но верный рост в ТОП</div> </finish_item> <finish_item> <div class="finish_round"> <img src="/icons/finish/4.png" alt="" class="finish_icon"> </div> <div class="finish_descr">Достигнуть стабильного прироста посетителей</div> </finish_item> <finish_item> <div class="finish_round"> <img src="/icons/finish/5.png" alt="" class="finish_icon"> </div> <div class="finish_descr">Достигнуть стабильного прироста посетителей</div> </finish_item> </div> </div> </section>  
      Css:
      .finish .finish_wrapper { margin-top: 41px; display: flex; justify-content: space-between; } .finish .finish_wrapper .finish_item { width: 204px; } .finish .finish_wrapper .finish_item .finish_round { width: 115px; height: 115px; background-color: #b4e2ff; border-radius: 8px; } .finish_descr { font-family: Roboto; font-size: 17px; line-height: 20px; font-weight: 300; color: #efefef; Спасибо!
       

      Уже решил, спасибо!
      У меня CSS селектор вида:
      .finish .finish_wrapper .finish_item .finish_round

      А должен быть:
      .finish .finish_wrapper finish_item .finish_round
      Т.е. без точки перед finish_item, так как это не класс, а элемент

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy