与纯文本标记语言(例如Microsoft Word)相对,使用开发过程遇到哪些障碍?[关闭]


33

我目前是政府承包商的实习生,并且(令人讨厌的不可避免)感觉到Word是软件开发过程中的实际标准。

它的二进制格式使我很难像以前在代码库上进行协作的方式在文档上进行协作。使用纯文本标记(使用LaTeX,Markdown,ReStructured Text 等语言))可以使diff友好的文档与开发人员的正常工作流程配合使用。对于不支持该语言的注释(例如Markdown),有许多现有的解决方案允许基于代码库的协作注释(例如GitHub,Bitbucket),可以轻松地将其应用于包含标记的其他纯文本文件。

我了解与技术不熟练的管理人员合作的必要性,需要对所有内容都使用某种图形界面,但是大多数这些格式都存在此类界面。例如,LaTeX有一种名为“ LyX”的“叉子”,可将图形前端放入纯文本形式的类似LaTeX的语法中。尽管该文件在编辑时主要是图形化的,但是差异友好的。(它甚至还具有Word样式的注释。)这些解决方案中的许多都可以代替Word使用,并且绝大多数是免费的或开源的。

但是,我们甚至将Word用于我们自己的内部文档,其他人看不到。我们在大部分职业中都使用文本进行工作-为什么文档如此特别?除了琐碎的“我们没有更好的东西,现在我们被困在这里”之外,还必须有支持这种决定的理由。在使用纯文本文档代替其他口语化(且功能上可能不够强大的文档)的方法来代替纯文本文档时,软件开发过程会面临哪些挑战?

由于原因会有所不同,因此应该分别针对这两个紧密相关的场景进行回答。

  • 从一开始就使用纯文本文档
  • 随着时间的推移迁移到纯文本文档

2
由于独立的原因,明智的做法是迁移到基于XML的Word的较新版本(Office 2007 / 12.0及更高版本)。最新版本的openoffice,尤其是libreoffice可能是更好的选择-导入/导出过滤器允许与基于ms word的工作流无缝集成。更重要的是,在页面设置中使用标记语言需要更高的抽象水平和更好的构想思路,同时又不容易支持探索性写作。当然,ms office ui是惯例-无需培训。
collapsar 2013年

2
我不确定我是否同意您的前提-由于您所描述的好处,我确定很多地方都可以使用一种或多种标记语言。
vaughandroid13年

1
正如collapsar指出的那样,基于XML的单词文档非常易于编程(openxml sdk,...(我可以为c#提供建议的ClosedXML和Novasoft.DocX)。当来自学术背景时,TEX看起来不错,但如果没有,一个人使用它,它就像死了一样。学习曲线太高了!您的母亲和祖母可能知道这个词是什么。向他们询问TEX,我会感到惊讶!
Mvision

1
就UI的直观性而言,这对于普通级别的正常工作流中的很大一部分都是正确的,但对于更复杂的事情却会崩溃。请参阅superuser.com/questions/620454,并注意更新TOC的方法是在中间插入一个新的TOC,然后等待弹出窗口。永久忽略大块文本拼写的方法是将语言设置为<-null。这些直观吗?但这不是重点。纯文本完全暴露了文档的结构和内容;没有混乱,没有大惊小怪。
肖恩·阿雷德

1
@rath绝对。如果有人希望将一些年轻的想法带入黑暗的一面,则对链接的评论/答案应该可以帮助您入门。(特别是Jubobs的演讲---他上传了档案,非常棒。)
肖恩·艾瑞德

Answers:


43

软件开发过程中的许多参与者不是开发人员,并且无论如何都需要与文档进行交互的能力。质量检查/营销应该使用文字,开发人员应该完全使用其他文字吗?这将是不一致的,它将在维护链中添加另一个工具,并且当公司的IT部门完全了解如何管理/维护Word文档存储时,他们可能不知道如何处理文件。

最重要的是,许多非开发人员花了数年的时间在大学里使用Microsoft Word上交工作,经常参加过有关如何使用Word的实际培训班。他们知道它比替代品要好得多。当我在Open Office和Word中工作时,我几乎无法分辨出其中的区别,但是当我I子用它来省钱时,一周后,她让丈夫买了Word,并宣称“自从我爱上了单词我的新笔记本电脑!”。考虑一下使这样的事情变得混乱的心态,对它们习惯的微小改变对他们来说不是“轻微的”。

现代单词允许版本差异,带有版本跟踪的注释以及更改合并。它可能不像合并代码那么直接,但是我已经看到许多项目经理可以轻松地做到这一点,因此开发人员当然也可以设法做到这一点。

除此之外,在Wiki中进行文档编写在开发团队中已变得非常普遍,因为它可以回到文本表示形式,同时又保持足够的简单性,以使非开发人员可以进行编辑。


7
我部分不与你的第二个段落达成一致:大多数和我一起工作的人有不知道任何有关如何使用Word之类的东西。而且,对于任何与他们所知道的东西都不相似的事物(带状丝带?;-)),通常会感到不舒服。这意味着可以对他们执行任何操作。不幸的是,其余的总结得很好。
nietonfir

@nietonfir哇,据我的经验,单词是每个PM和QA人员最喜欢的(只读)工具
Jimmy Hoffa 2013年

4
@JimmyHoffa是,但是大多数人不知道如何正确使用Word(例如索引,图片字幕,首页标题,数字,标题等)。
nietonfir

2
@JimmyHoffa:是的,但是他们为此得到了多少培训?它们真正使用了Word的多少功能?恕我直言,这些用户大多数可以轻松切换到写字板。
恢复莫妮卡-M.Schröder13年

哦,嗨,@MartinSchröder:-)至于写字板,虽然大多数内容作者可能不知道如何使用MS Word发挥其全部“潜力”,但其中一些人确实可以。根据我的经验,只有极少数的高级用户为实际添加大量内容的用户(一次又一次)设置文档。当有人要添加图形时,将添加注释。(将文档作为文档进行维护,至少成为了兼职工作。)
肖恩·阿雷德

4

我个人认为这是教育问题。

大多数人被欺骗,以为使用MS Word之类的工具可以更轻松地生成高质量的文档,但是据我所见,它实际上使它变得更难。您最终不得不无休止地调试格式并使用工具来获得所需的结果。

诸如Scrivener之类的工具使您可以更接近文档的实际情况,而不必像使用Word那样进行斗争。部分是由于认识到所见即所得实际上无法很好地工作。

在我自己的组织中,我转向使用MarkDown满足其大部分文档需求的人员越多,则他们越快乐,工作效率越高。


您是否真的建议“调试” LaTeX比MS Word更容易?
user253751 2014年

@immibis LaTeX3知道这是一个问题(即使是LaTeX2e,也无法解决问题)。理想情况下,没有在文档级别进行任何编码(公开给作者)。所有的“调试”都是在代码级别完成的,在那里您需要熟悉该语言的人员来完成这项工作。相信我,expl3错误信息是多少更有帮助:)
肖恩·奥尔雷德

@immibis实际上,“调试” LaTeX比MSWord更容易。MSWord中存在一些格式修改问题,除非修改MSWord程序本身,否则任何人都无法解决。在这些情况下,您可以花所有时间学习LaTeX-> TeX-> C->汇编器,无论您需要深入学习。我确实知道软件开发领域以外的用户,他们对LaTeX和pstricks等都有很好的使用知识。他们每次都会选择LaTex而不是Word。他们用。不需要进行很多复杂的调试,他们只是向某人寻求帮助,对他们而言,这种情况比使用MSWord发生得少。
wolfmanx

0

您确实有两个问题:

第一:为什么非开发小组在软件开发过程中不使用LaTeX或其他Markdown?

迁移到LaTeX的问题是感知的学习曲线,尤其是在与非技术用户打交道时。用户已经知道其他格式,并且不想学习另一种做他们所做的事情的方法。他们对如何区分2个文档几乎一无所知,因此更改它们的文本格式几乎没有价值。向某人解释您有解决方案,他们不知道他们遇到了什么,这是件很难的事。

您也不能低估前进动力的价值。为了迁移到新格式,您确实必须说服链中的其他人,值得投资学习新知识。即使您不希望他们编辑任何内容,也要花费一定的时间和精力才能将现有格式转换为新格式(即使效果很差)。

第二个问题:当有更好的选择并且超过学习能力时,为什么我的团队继续使用word文档?

这是您应该与团队中的人员讨论的事情。他们选择维护Word文档可能有正当的理由,或者仅仅是因为这一直都是这样做的方式。

任何更改都会产生成本,将成百上千的文档转换为新格式可能既昂贵又耗时。如果要尝试更改环境,则必须说明为什么要更改的理由


1
这甚至都没有试图回答以下问题:“为什么纯文本标记语言(例如LaTeX或Markdown)在软件开发过程中没有更流行?”
gnat 2014年

+0,但同意-以评论为宜。
肖恩·艾瑞德

1
问题的第一次编辑后,情况变得更好了。@gnat,另外一个样子是。
肖恩·艾瑞德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.