Подготовьте общедоступный заголовок к выпуску

В awk $1 упоминается первое поле в записи, а не первый аргумент, как в bash. Вам нужно использовать ARGV для этого, посмотрите здесь для официального слова.

Сценарий:

#!/bin/awk -f

BEGIN{
    print "AWK Script"
    print ARGV[1]
}

Демонстрация:

$ ./script.awk "Passed in using ARGV"
AWK Script
Passed in using ARGV

6
задан Laserallan 5 June 2009 в 11:30
поделиться

8 ответов

Вы должны ВСЕГДА, в любом проекте с участием нескольких разработчиков в течение любого длительного периода времени и последующего выпуска этого исходного кода, СКАНИРОВАТЬ НА НЕОБХОДИМОСТЬ (и другие вещи, о которых вы не должны были говорить, например , «Мой босс заставил меня сделать это», «Этот код ужасен» и т. Д.). Также может быть полезна проверка орфографии в комментариях, поскольку люди, неправильно пишущие слова, подрывают ваше доверие.

14
ответ дан 8 December 2019 в 02:27
поделиться

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

11
ответ дан 8 December 2019 в 02:27
поделиться

Как правило, было бы лучше, если бы у вас были стандарты / форматы кодирования для документов, клиенты увидят, что разработчики сами соблюдают, когда они впервые создают код, поэтому вы не тратите время на очистку кода перед выпуском, например, now.

Кроме того, Visual Studio и несколько других IDE имеют параметр «Автоформатирование», в котором вы можете настроить стиль, и он будет применяться к вашему коду (табуляции, пробелы и тому подобное). Я думаю, это именно то, о чем вы здесь просите.

2
ответ дан 8 December 2019 в 02:27
поделиться

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

2
ответ дан 8 December 2019 в 02:27
поделиться

Добрый день,

В C ++ мне нравится использовать идиому Handle-Body , чтобы максимально отделить реализацию от публичного интерфейса.

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

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

Убедитесь, что в ваших файлах заголовков нет объявлений "using". Неправильное использование «using» dec может серьезно испортить ситуацию с непреднамеренными побочными эффектами.

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

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

Не походите на компанию, которая предоставляет хорошо известный продукт для поиска по почтовому индексу. Первая версия C API поставлялась с минимальной документацией, которая в значительной степени основывалась на версии Windows GUI. Заголовочные файлы просто состояли из функций, параметры которых имели только типы и не имели имен. И никаких комментариев вообще.

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

Тем не менее, после того, как удалось это сделать. Я спасал BBC «Детям в беде» десятки тысяч фунтов в год, потому что адреса, указанные для пакетов для сбора средств, были более верными, чем в предыдущие годы!

не походить на компанию, которая предоставляет хорошо известный продукт поиска почтового индекса. Первая версия C API поставлялась с минимальной документацией, которая в значительной степени основывалась на версии Windows GUI. Заголовочные файлы просто состояли из функций, параметры которых имели только типы и не имели имен. И никаких комментариев вообще.

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

Тем не менее, после того, как удалось это сделать. Я спасал BBC «Детям в беде» десятки тысяч фунтов стерлингов в год, потому что адреса, указанные для пакетов по сбору средств, были более верными, чем в предыдущие годы!

не походить на компанию, которая предоставляет хорошо известный продукт поиска почтового индекса. Первая версия C API поставлялась с минимальной документацией, которая в значительной степени основывалась на версии Windows GUI. Заголовочные файлы просто состояли из функций, параметры которых имели только типы и не имели имен. И никаких комментариев вообще.

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

Тем не менее, после того, как удалось это сделать. Я спасал BBC «Детям в беде» десятки тысяч фунтов в год, потому что адреса, указанные для пакетов для сбора средств, были более верными, чем в предыдущие годы!

Первая версия C API поставлялась с минимальной документацией, которая в значительной степени основывалась на версии Windows GUI. Заголовочные файлы просто состояли из функций, параметры которых имели только типы и не имели имен. И никаких комментариев вообще.

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

Тем не менее, после того, как удалось это сделать. Я спасал BBC «Детям в беде» десятки тысяч фунтов в год, потому что адреса, указанные для пакетов для сбора средств, были более верными, чем в предыдущие годы!

Первая версия C API поставлялась с минимальной документацией, которая в значительной степени основывалась на версии Windows GUI. Заголовочные файлы просто состояли из функций, параметры которых имели только типы и не имели имен. И никаких комментариев вообще.

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

Тем не менее, после того, как удалось это сделать. Я спасал BBC «Детям в беде» десятки тысяч фунтов в год, потому что адреса, указанные для пакетов для сбора средств, были более верными, чем в предыдущие годы!

1
ответ дан 8 December 2019 в 02:27
поделиться

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

В комментариях попросите их найти что-нибудь непрофессиональное или предварительное. Правильные орфографические ошибки. Убедитесь, что они точны. Имейте стандартный способ их форматирования и придерживайтесь его.

Проверьте все имена идентификаторов. Они должны соответствовать руководству по стилю и иметь профессиональное имя.

Убедитесь, что есть все необходимые комментарии. Сюда входят сведения об авторских правах и контактная информация вверху. Придумайте стандартный метод документирования классов и тому подобного и обеспечьте его соблюдение.

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

3
ответ дан 8 December 2019 в 02:27
поделиться

In my experience having an internally used header routinely and automatically cleaned up for public consumption is a hard task, and definitely error prone. Eventually the inconsistent format or the inappropriate comment will inevitable creep through.

In many cases you are probably better off wrapping everything into a small and clean interface, whose header is always maintained as clean and as commented as possible; modifications to that file should undergo, for instance, a particularly careful review process.

2
ответ дан 8 December 2019 в 02:27
поделиться

Добавление необходимых не менее важно, чем удаление грубых комментариев. Возможно, вам потребуется добавить:

  • заголовок авторских прав / условий использования
  • контактная информация для службы поддержки
  • ссылки на документацию, если она доступна в Интернете
  • документация по общедоступным интерфейсам (возвращаемые значения, параметры , предварительные и последующие условия и т. д.)
  • предупреждения о функциях / методах, которые доступны, но не предназначены для производственного использования
2
ответ дан 8 December 2019 в 02:27
поделиться